跳到正文
故障排除

编译失败

为什么手动编译一个已就绪的项目也可能失败、如何阅读错误,以及“用 AI 修复”什么时候是免费的。

更新于

本页内容
  1. 为什么已就绪的项目编译失败了?
  2. 怎么做
  3. 解读常见错误
  4. 能构建,但在游戏里不工作

#为什么已就绪的项目编译失败了?

编译构建的是当前文件。项目变为已就绪之后编译失败,通常有以下原因:

  • 验证之后文件发生了变化:你编辑了某些内容,或者某次聊天修改还没有完成验证。
  • 代码之外的问题:某个依赖仓库不可用,或者构建超时(插件 5 分钟,模组 10 分钟)。请试试重新检查。

如果文件和 Codexe 交付时完全一样,构建却仍然失败,那就是 Codexe 需要解决的问题,而且是免费的。

#怎么做

  1. 阅读编译结果中的错误列表:每个错误都会显示文件和行号。
  2. 点击用 AI 修复:
    • 文件自 Codexe 交付以来未改动:会运行一次免费的内部修复(你会看到正在修复一个问题…);
    • 文件有改动:错误会作为一条普通消息发送到聊天中(消耗 token)。
  3. 如果你刚刚自己编辑了某个文件来修复它,请点击重新检查。

#解读常见错误

错误含义
cannot find symbol某个类、方法或变量在你构建所依据的 API 版本中不存在,或者缺少某个导入。请说明你的服务器版本。
package … does not existpom.xml / build.gradle 中缺少某个依赖。请写出你使用的插件或库的名称。
incompatible types某个方法在这个 API 版本中返回的类型不同。
Could not resolve …某个依赖版本不存在,或者它所在的仓库不是 Codexe 能访问的。
release version 21 not supported项目面向的 Java 版本比构建所用的更新。Java 版本取决于 Minecraft 版本;请把它写清楚。

#能构建,但在游戏里不工作

编译证明的是代码能构建,而不是功能表现正确。请在聊天中描述游戏内的表现。参见常见平台错误。

编译失败 | Codexe Docs