故障排除
编译失败
为什么手动编译一个已就绪的项目也可能失败、如何阅读错误,以及“用 AI 修复”什么时候是免费的。
更新于
#为什么已就绪的项目编译失败了?
编译构建的是当前文件。项目变为已就绪之后编译失败,通常有以下原因:
- 验证之后文件发生了变化:你编辑了某些内容,或者某次聊天修改还没有完成验证。
- 代码之外的问题:某个依赖仓库不可用,或者构建超时(插件 5 分钟,模组 10 分钟)。请试试重新检查。
如果文件和 Codexe 交付时完全一样,构建却仍然失败,那就是 Codexe 需要解决的问题,而且是免费的。
#怎么做
- 阅读编译结果中的错误列表:每个错误都会显示文件和行号。
- 点击用 AI 修复:
- 文件自 Codexe 交付以来未改动:会运行一次免费的内部修复(你会看到正在修复一个问题…);
- 文件有改动:错误会作为一条普通消息发送到聊天中(消耗 token)。
- 如果你刚刚自己编辑了某个文件来修复它,请点击重新检查。
#解读常见错误
| 错误 | 含义 |
|---|---|
cannot find symbol | 某个类、方法或变量在你构建所依据的 API 版本中不存在,或者缺少某个导入。请说明你的服务器版本。 |
package … does not exist | pom.xml / build.gradle 中缺少某个依赖。请写出你使用的插件或库的名称。 |
incompatible types | 某个方法在这个 API 版本中返回的类型不同。 |
Could not resolve … | 某个依赖版本不存在,或者它所在的仓库不是 Codexe 能访问的。 |
release version 21 not supported | 项目面向的 Java 版本比构建所用的更新。Java 版本取决于 Minecraft 版本;请把它写清楚。 |
#能构建,但在游戏里不工作
编译证明的是代码能构建,而不是功能表现正确。请在聊天中描述游戏内的表现。参见常见平台错误。