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. Scala Eclipse Distribution中缺少XML庫
- 2. 缺少索引文件括號IDE
- 3. 的VxWorks與Eclipse - 缺少的頭文件
- 4. eclipse中缺少的文檔
- 5. 缺少源文件的Eclipse Java Debug
- 6. Maven的集成在Eclipse:缺少需求
- 7. java缺少必需的源文件夾:'gen'
- 8. Eclipse項目中缺少.classpath文件
- 9. Eclipse和SVN:缺少.project文件
- 10. 。在Eclipse中缺少.project和.classpath文件
- 11. 缺少所需的體系結構x86_64的文件
- 12. 缺少所需的ARM架構的文件
- 13. Android開發缺少「drawable」文件夾(NetBeans IDE)
- 14. 在文件中缺少所需的體系結構i386
- 15. 缺少Selenium IDE上下文項
- 16. Maven構建後缺少類文件
- 17. JAR文件中缺少類java.lang.NoClassDefFoundError:或g/eclipse/core/runtime/spi/IRegistryProvider
- 18. AdView缺少所需的xml屬性adSize
- 19. jibx:缺少所需的對象異常
- 20. 缺少所需的參數:aws_access_key_id,aws_secret_access_key
- 21. AdMob:缺少所需的XML屬性adUnitID
- 22. 缺少文件
- 23. 缺少文件
- 24. 類型錯誤:分類()缺少1所需位置參數: 'FEATURESET'
- 25. WAR文件中缺少編譯類
- 26. ld:warning:忽略文件[path],缺少文件中所需的體系結構i386
- 27. 如何讓Eclipse Scala-IDE + Spring-IDE插件一起工作?
- 28. 在IntelliJ IDEA中缺少Scala插件11.1.1
- 29. Eclipse包中缺少類,幫助
- 30. 在Scala IDE中爲Eclipse安裝scalatest
海事組織這是最有用的答案,至少它導致我的決心。我想你應該接受它。非常感謝。 – 2012-07-25 14:17:57