簡體   English   中英

在 Eclipse 中突然出現 NoClassDefFoundError(並且只有在那里)

[英]Suddenly NoClassDefFoundError in Eclipse (and only there)

在 eclipse (Mars.2) 中將我的項目(只是普通的 Java 1.8,沒什么特別的)轉換為 Maven(右鍵單擊項目 => 配置 => Maven 項目)后,突然間我無法運行通常有效的類之前,收到此消息:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils
    at eas.veryFastPDF.script.RepresentableDefault.<init>(RepresentableDefault.java:169)
    at eas.veryFastPDF.script.RepresentableDefault$1.<init>(RepresentableDefault.java:1336)
    at eas.veryFastPDF.script.RepresentableDefault.<clinit>(RepresentableDefault.java:1336)
    at eas.veryFastPDF.HelpTexts.<clinit>(HelpTexts.java:525)
    at eas.GlobalVariables.<clinit>(GlobalVariables.java:52)
    at eas.plugins.PluginFactory.deserializePlugins(PluginFactory.java:220)
    at eas.plugins.PluginFactory.loadPluginsFromFile(PluginFactory.java:127)
    at eas.plugins.PluginFactory.<clinit>(PluginFactory.java:118)
    at eas.startSetup.ParCollection.complete(ParCollection.java:1304)
    at eas.startSetup.Starter.main(Starter.java:1924)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang3.StringUtils
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 10 more

如果我注釋掉需要 StringUtils 的部分,其他引用的庫會導致相同的錯誤。 問題類一直存在:在構建路徑中引用的 JAR 中,並且沒有編譯時錯誤。

關於這個的一些更奇怪的事情:

  • 切換回舊的非 Maven 版本不起作用。
  • 項目清理不起作用。
  • 清理新的項目結帳不起作用。
  • 即使安裝新的 Eclipse 版本(Neon.2 - 無論如何都該到期)也不起作用。
  • 使用命令行在 eclipse 之外運行確實有效!
  • 編輯:現在我什至刪除並重新安裝了 Java - 仍然無法正常工作。

這到底是怎么回事??

編輯:我顯然檢查了建議的“重復”問題中的所有答案,但它們不起作用。 請不要標記為重復 - 不是!

這就是最終(幾個小時后)對我有用的:

我刪除了存儲在工作區文件夾中的所有東西 eclipse - 更准確地說,基本上每個文件夾都以一個點開頭。 (可能只有 .metadata 文件夾就足夠了,但我沒有勇氣更深入地研究這個。)

顯然,有關類路徑的某些內容永久存儲在工作區中,因此切換回早期版本並沒有解決我的問題。

只是一個警告:這個解決方案確實有效,但是像這樣清理工作區會讓 eclipse 忘記幾乎所有的事情!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM