[英]NoClassDefFoundError While using Eclipse Cloud Foundry Plugin
[英]noClassDefFoundError using Scala Plugin for Eclipse
我使用Scala插件在Eclipse中成功實現並運行了幾個Scala教程。 然后突然我嘗試編譯並運行一個示例,並出現此錯誤:
Exception in thread "main" java.lang.NoClassDefFoundError: hello/HelloWorld
Caused by: java.lang.ClassNotFoundException: hello.HelloWorld
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:315)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:330)
at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:398)
在此之后,我再也無法在Eclipse中運行任何Scala程序。 我嘗試清理和重建我的項目,關閉並重新打開我的項目,關閉並重新打開Eclipse。
Eclipse版本號3.5.2和Scala插件2.8.0
這是原始代碼:
package hello
object HelloWorld {
def main(args: Array[String]){
println("hello world")
}
}
如果您在嘗試作為Scala應用程序運行時看到這一點,那么最可能的解釋是您的項目沒有編譯並且沒有生成類文件。 請檢查是否是這種情況:在項目的輸出文件夾中查找hello / HelloWorld.class。
如果您的項目沒有編譯,可能是因為您錯過了一個錯誤(如果在Problems視圖中沒有報告此錯誤可能是一個錯誤,在這種情況下請在Trac上打開一張票)或者因為你已經關閉了自動構建而沒有完成項目的手動構建。
我有同樣的問題。 Project沒有編譯,但沒有突出顯示錯誤,AFAIK代碼沒問題。 這似乎是運行配置的問題。
解決方案1 :刪除對象的現有運行配置並創建一個新對象
解決方案2 :創建一個新對象並將所有代碼剪切/粘貼到該文件中
當運行“clean”並沒有解開Eclipse時,我接下來嘗試保存我的工作,退出Eclipse並重新啟動。 這通常會讓事情再次發生,但並非總是如此。 有幾次我不得不用更新版本更新Scala插件(我每晚使用最新版本),讓事情再次發揮作用。 我懷疑這是否有效,因為新的插件碰巧修復了這個bug,而是期望加載新的插件會讓整個Eclipse-Scala系統“完全重置”,從而使它不受限制。
我在一個組合了.java和.scala文件的項目中遇到了這個問題。 我的解決方案是:
這里給出的其他解決方案對我不起作用。 我嘗試過:清理項目,重啟Eclipse,關閉 - 打開項目,創建一個新的.scala文件。 沒有快樂。
我在Ubuntu Linux 11.10上使用Eclipse 3.7(最新穩定版),Scala IDE 2.0.0和Scala 2.9。
我的症狀是:
我想在.java / .scala mix的IDE插件中可能存在一個引導陷阱錯誤。 我已經完成了這個設置的混合項目沒有問題,所以它只在某些情況下觸發。 我不知道觸發器是什么,但一旦觸發,就沒有好的解決方案。
我也遇到了這個錯誤,但在完成這里的建議(清理,刪除運行配置等)后,我意識到我錯誤地設置了工作區,這就是找不到類的原因。
當您嘗試編譯java項目時出現相同的錯誤,這表明這是一個問題。
當我創建一個名為“common”的新包對象時,我遇到了這個錯誤(編譯在sbt中工作但在eclipse中失敗)。 在eclipse中刪除包對象導致編譯錯誤消失。 里面什么都沒有。
我正在使用sbt-eclipse來構建eclipse項目。 我正在使用scala eclipse 3.0.0-vfinal-20130326-1146-Typesafe。
我已將我的唯一類/對象/應用程序移動到包中,但未添加package
聲明。
sbt
匯編並運行良好; 日食不會
在文件頂部添加package
聲明修復它。
Scala 2.8.3插件; 沒有編譯錯誤
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.