Java:未解决的编译问题

新手上路,请多包涵

“java.lang.Error:未解决的编译问题”的可能原因是什么?

附加信息:

在从现有 JAR 之上的构建复制一组更新的 JAR 文件并重新启动应用程序后,我看到了这一点。 JAR 是使用 Maven 构建过程构建的。

如果接口更改,我希望看到 LinkageErrors 或 ClassNotFound 错误。上面的错误暗示了一些较低级别的问题。

干净的重建和重新部署解决了这个问题。此错误是否表示 JAR 已损坏?

原文由 Frank 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 379
1 个回答

(2015-07-28 改写)

当编译有错误的代码时,Eclipse 的默认行为是生成字节代码以抛出您看到的异常,从而允许程序运行。这是可能的,因为 Eclipse 使用它自己的内置编译器,而不是来自 Apache Maven 使用的 JDK 的 javac ,并且由于错误而完全无法编译。如果您在 Maven 项目上使用 Eclipse,您也使用命令行 mvn 命令,则可能会发生这种情况。

解决方法是修复错误并重新编译,然后再运行。

该设置在此屏幕转储中标有红色框:

OS X 下的 Eclipse 首选项

原文由 Thorbjørn Ravn Andersen 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题