Nachdem ich mein Projekt (einfach nur Java 1.8, nichts besonderes) in Eclipse (Mars.2) zu Maven konvertiert habe (Rechtsklick auf Projekt => Konfigurieren => Maven Projekt), plötzlich kann ich nicht die üblichen Klassen laufen, die immer gearbeitet, diese Nachricht erhalten:Plötzlich NoClassDefFoundError in Eclipse (und nur dort)
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
Wenn ich die Teile auf Kommentar, die StringUtils erfordern, andere referenzierte Bibliotheken verursachen den gleichen Fehler. Die Problemklassen sind dort, wo sie schon immer waren: in JARs, auf die im Build-Pfad verwiesen wird, und es gibt keine Fehler bei der Kompilierung.
Einige weitere seltsame Dinge dazu:
- der älteren Nicht-Maven-Version nicht zurückwechseln nicht.
- Projektbereinigung funktioniert nicht.
- Saubere neue Kasse des Projekts funktioniert nicht.
- Sogar die Installation einer neuen Eclipse-Version (Neon.2 - war sowieso fällig) funktioniert nicht.
- Das Ausführen außerhalb der Eclipse mit der Befehlszeile funktioniert!
- EDIT: Jetzt habe ich sogar Java entfernt und neu installiert - immer noch nicht funktionieren.
Was zur Hölle passiert?
EDIT: Ich habe offensichtlich alle Antworten aus der vorgeschlagenen "doppelte" Frage überprüft, und sie werden nicht funktionieren. Bitte nicht als Duplikat markieren - das ist es nicht!
Wenn Sie außerhalb der Eclipse in der Befehlszeile ausführen, kompilieren Sie auch zuvor mit Maven? Oder du machst einfach deine Hauptklasse? – pablo
Nein, da verwende ich einen einfachen Java-Befehl wie folgt: java -Xmx15000M -cp "./* ;." eas.startSetup.Starter – Duke
Mögliches Duplikat von [Strange "java.lang.NoClassDefFoundError" in Eclipse] (http://stackoverflow.com/questions/2233656/strange-java-lang-noclassdeffounderror-in-eclipse) – Winter