2015-04-30 6 views
0

У меня возникла проблема с запуском jar-файла, созданного eclipse.Java3d - Jar файл содержит ошибку java.lang.NoClassDefFoundError javax/media/j3d/Canvas3D

Внутри eclipse я могу запустить свой проект, используя функцию запуска, и проект выполняется точно так, как ожидалось.

То же самое относится к компиляции и запуску кода из командной строки с использованием javac Menu.java для компиляции и java Menu для запуска.

Оба они работают правильно и не возвращают ошибку, которую я получаю при запуске файла jar.

Файл jar был создан в eclipse путем экспорта проекта. Но когда я запускаю файл jar, приложение отказывается от ответа при открытии любых JFrames, содержащих Java3d. После отладки .jar файла я получаю ошибку

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javax/media/j3d/Canvas3D 

Обычно это приведет меня к мысли, что мой CLASSPATH неверен, но поскольку проект работает из командной строки это не кажется вероятным.

Любая помощь или указатели были бы очень полезными.

Спасибо.

+1

Это означает, что ваш JAR-файл не любит JAVA_PATH для Java Runtime Env. – MaxZoom

ответ

0

Найдено решение, которое работает.

Вместо простого создания файла jar вы можете создать исполняемый файл Jar.

При обращении к библиотеке в процессе экспорта выбор «необходимых пакетов пакетов в сгенерированный JAR» решает эту проблему и позволяет запускать ее на всех компьютерах, даже без установленного Java3D.