“java.lang.Error:未解决的编译问题”的可能原因是什么?
附加信息:
在从现有 JAR 之上的构建复制一组更新的 JAR 文件并重新启动应用程序后,我看到了这一点。 JAR 是使用 Maven 构建过程构建的。
如果接口更改,我希望看到 LinkageErrors 或 ClassNotFound 错误。上面的错误暗示了一些较低级别的问题。
干净的重建和重新部署解决了这个问题。此错误是否表示 JAR 已损坏?
原文由 Frank 发布,翻译遵循 CC BY-SA 4.0 许可协议
(2015-07-28 改写)
当编译有错误的代码时,Eclipse 的默认行为是生成字节代码以抛出您看到的异常,从而允许程序运行。这是可能的,因为 Eclipse 使用它自己的内置编译器,而不是来自 Apache Maven 使用的 JDK 的
javac
,并且由于错误而完全无法编译。如果您在 Maven 项目上使用 Eclipse,您也使用命令行mvn
命令,则可能会发生这种情况。解决方法是修复错误并重新编译,然后再运行。
该设置在此屏幕转储中标有红色框: