У меня есть класс, который использует Java3D, который успешно компилируется, хотя когда я пытаюсь его запустить, он говорит: Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/j3d/Canvas3D,
Со следующей трассировкой стека:
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at sun.launcher.LauncherHelper.getMainMethod(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: javax.media.j3d.Canvas3D
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)
Вещи, которые я уже пробовал:
Я даже не мог его скомпилировать, пока не скопировал jar-файлы Java3D в /jre/lib/ext/.
У меня есть последняя версия Java, Java3D, и я использую Notepad++, и я попытался переустановить Java3D.
Я правильно установил classpath/path.
Ошибок в коде нет.
Я могу запускать обычные Java-приложения, которые я создал.
Я пытался использовать classpath при запуске приложения (java -classpath blahblah ApplicationName).
Я проверил внутри банки, и классы (включая Canvas3D) определенно там.