Eclipse Scala插件有时会给我带来虚假的编译错误,说“缺少某些类所需的类文件”。这可能与我的项目依赖于同一工作区中的其他项目有关。清理项目-甚至清理所有打开的项目-都无法解决这些错误。我怎样才能使它们消失?

最佳答案

这可能是由于在类路径中具有同一个jar的两个不同版本(或者,我想是通过在类路径中仅具有旧的二进制不兼容版本的jar)引起的。您可以使用JBoss Tattletale之类的类路径检查工具来检测此类问题。

这是Tattletale命令行示例,用于分析项目,其中所有jar都在lib子目录中:

java -Xmx512m -jar $HOME/opened/tattletale-1.1.2.Final/tattletale.jar $HOME/$PROJECT/lib $HOME/opened/tattletale-1.1.2.Final/reports/$PROJECT

Tattletale将创建报告目录(最后一个参数)(如果尚不存在)。也有用于Maven和Ant项目的Tattletale版本。

然后打开文件
tattletale-1.1.2.Final/reports/$PROJECT/index.html

在您的Web浏览器中,环顾四周,尤其是诸如“消除具有不同版本的Jar文件”和“多个jar文件”之类的页面。如果未发现该类型的问题,则这些页面将为空。

09-03 21:43