Eclipse Scala插件有时会给我伪造的编译错误,说“所需的类文件缺失”。这可能与我的项目依赖于同一工作区中的其他项目有关。清理项目 - 即使清理所有打开的项目 - 也不能解决这些错误。我如何让他们离开?Eclipse Scala IDE - 缺少X所需的类文件
2
A
回答
3
这可能是由于在类路径中有两个不同版本的同一个jar(或者,我想,在classpath中只有一个旧的与二进制不兼容的jar版本)。您可以使用像JBoss Tattletale这样的类路径检查工具来检测这样的问题。
下面是分析一个项目,所有的罐子都在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
告密将创建报告目录(最后一个参数),如果它不存在。 Maven和Ant项目也有Tattletale版本。
然后在Web浏览器中打开该文件
tattletale-1.1.2.Final/reports/$PROJECT/index.html
,并环顾四周,尤其是在像“不同版本的消除Jar文件”和“多jar文件”页面。如果没有发现该类型的问题,那么这些页面将是空的。
1
关闭所有打开的项目,然后打开出现这些错误的项目。这对我有用,但只在某些情况下。我很有可能需要事先清理项目。
1
斯卡拉编译器看起来canonicalise路径(或者它可能只是Play 1 Scala插件,我不知道)。因此,如果您在Linux或Mac OS X上创建了一个符号链接,从foo.jar
到foo.jar.orig
,Scala编译器会认为它不是.jar
文件,因为它将查看规范路径。所以像这样的任何jar都会从你的类路径中悄悄丢弃。
1
您可能在classpath中不需要一些必需的符号,或者(!),在classpath中可能有多个jar版本,这是我的情况。
在将salat和casbah安装到项目中之后,我在IntelliJ中进行完全重建时遇到了类似的问题。 SBT构建进展顺利,而想法开始失败。
我已经卸下卡斯巴,因为它是由salat传递导入的,问题消失了。
希望能帮助那里的人。
相关问题
- 1. Wro4j Maven插件 - 所需的类缺少
- 2. Scala Eclipse Distribution中缺少XML库
- 3. Maven JavaDoc:缺少所需的类
- 4. Eclipse的文件>导入“其他”缺少的Maven插件2
- 5. 缺少索引文件括号IDE
- 6. 重命名Scala IDE中的.scala文件不会重命名类
- 7. 的VxWorks与Eclipse - 缺少的头文件
- 8. eclipse中缺少的文档
- 9. 缺少源文件的Eclipse Java Debug
- 10. 在intellij ide和eclipse上运行scala类
- 11. 未在Eclipse中找到Scala Main类IDE
- 12. Maven Eclipse插件缺少.jar文件
- 13. Eclipse中的Scala/JOGL错误:加载X(GLCanvas等)时缺少依赖关系
- 14. Maven的集成在Eclipse:缺少需求
- 15. java缺少必需的源文件夹:'gen'
- 16. 缺少所需的ARM架构的文件
- 17. 缺少所需的体系结构x86_64的文件
- 18. Eclipse项目中缺少.classpath文件
- 19. Eclipse调试器缺少源文件C++
- 20. Eclipse和SVN:缺少.project文件
- 21. 。在Eclipse中缺少.project和.classpath文件
- 22. Android开发缺少“drawable”文件夹(NetBeans IDE)
- 23. 在文件中缺少所需的体系结构i386
- 24. 该应用程序缺少所需的文件
- 25. 缺少文件的所有者项目
- 26. 缺少Selenium IDE上下文项
- 27. 代码不编译(Eclipse Scala IDE)
- 28. Maven构建后缺少类文件
- 29. Gradle IDE(Eclipse)文档
- 30. AdView缺少所需的xml属性adSize
海事组织这是最有用的答案,至少它导致我的决心。我想你应该接受它。非常感谢。 – 2012-07-25 14:17:57