Библиотека Eclipse Jar [java.lang.NoClassDefFoundError]

Я пытаюсь добавить несколько библиотек в свой проект. Когда я отлаживаю приложение, все работает отлично, но когда я компилирую проект и запускаю его, я получаю:

Exception in thread "main" java.lang.NoClassDefFoundError: de/javasoft/plaf/synt
hetica/SyntheticaSimple2DLookAndFeel
        at pkg_main.FRM_Main.main(FRM_Main.java:56)
Caused by: java.lang.ClassNotFoundException: de.javasoft.plaf.synthetica.Synthet
icaSimple2DLookAndFeel
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        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)
        ... 1 more

Похоже, JVM не может получить библиотеку. Я попробовал то же самое в NetBeans и отлично работает, так что я думаю, что это проблема Eclipse.

Если кто-нибудь может помочь мне, пожалуйста. Заранее спасибо!

2 ответа

Решение

Вы успешно компилируете / экспортируете свой код, но когда вы запускаете его, вам не хватает библиотек из вашего пути к классам.

Разница между netbeans и eclipse, скорее всего, заключается в том, что по умолчанию netbeans включает все библиотеки в jar, когда вы экспортируете, а eclipse - нет. Если вы намереваетесь упаковать все в одну банку, убедитесь, что при экспорте из Eclipse вы выбрали все библиотеки на первом экране экспорта.

Если вы предпочитаете экспортировать только свой код (например, если вы собираетесь переключать версии библиотеки без перестройки jar-файла), вы можете продолжить экспорт только своего кода, но при запуске вы должны указать библиотеки в classpath

java -cp "yourJar.jar;lib/*" my.package.MainClass

Проверьте ваш classpath в обоих затмениях, а также Netbeans, вы увидите разницу,

Другие вопросы по тегам