После преобразования моего проекта (просто Java 1.8, ничего особенного) в eclipse (Mars.2) в Maven (щелкните правой кнопкой мыши проект project => Configure => Maven) вдруг я не могу запустить обычные классы, которые всегда работали раньше, получаю сообщение:Внезапно NoClassDefFoundError в Eclipse (и только там)
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 - все равно должна была случиться) не работает.
- Запуск за пределами затмения с использованием командной строки. Работает!
- EDIT: теперь я даже удалил и переустановил Java - все равно работать не будет.
Что, черт возьми, происходит ???
EDIT: Я, очевидно, проверял все ответы из предложенного «дублирующего» вопроса, и они не будут работать. Пожалуйста, не отмечайте как дубликат - это не так!
При запуске за пределами затмения в командной строке вы компилируете ранее maven тоже? Или вы просто запускаете свой основной класс? – pablo
Нет, там я использую простую Java-команду вроде этого: java -Xmx15000M -cp "./* ;." eas.startSetup.Starter – Duke
Возможный дубликат [Strange "java.lang.NoClassDefFoundError" в Eclipse] (http://stackoverflow.com/questions/2233656/strange-java-lang-noclassdeffounderror-in-eclipse) – Winter