Что не так с этим файлом .jar?
Вопрос
Я пытаюсь превратить свой проект JoGL в jar
файл.Что я делаю не так?
Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/opengl/GL
EventListener
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(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)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Caused by: java.lang.ClassNotFoundException: javax.media.opengl.GLEventListener
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)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 12 more
Could not find the main class: chartest. Program will exit.
Содержимое файла JAR:
META-INF\MANIFEST.MF
gluegen-rt.jar
jogl.jar
chartest$1.class
chartest.class
gluegen-rt.dll
jogl.dll
jogl_awt.dll
jogl_cg.dll
test.png
Решение
Вы можете проверить свой путь к классу.Она должна включать по крайней мере
- Файл jar с классами, которые вы написали
- Поддержка jars с такими классами, как javax.media.opengl (jogl.jar ?)
Попробуйте поместить все эти банки в свой classpath и запустить его.
Другие советы
это файл Jogle JAR в вашем пути к классам?
Я вижу, вы сами включили банки в свою банку ... это, к сожалению, не получится из коробки.
Либо достаньте банки, затем поместите их в путь к классам (это также может быть частью вашего манифеста) или напишите собственный загрузчик классов ...
http://java.sun.com/docs /books/tutorial/deployment/jar/downman.html р>
Вот почему это сработало для Уильяма, а не для тебя ... он взял джогл откуда-то еще и не использовал тот, что в твоей банке.
Переключитесь на NetBeans, чтобы создать свой JAR-файл. Я нахожу использование других библиотек внутри моих проектов, включая файлы dll, лучше всего использовать что-то вроде Netbeans или просто упаковать его с maven.
mvn clean package
Вам нужно хорошо разбираться в xml, если вы хотите использовать maven для упаковки всех ваших jar-файлов.