Was ist falsch mit dieser .jar-Datei?
Frage
Ich versuche, mein JOGL Projekt in eine jar
Datei zu drehen. Was mache ich falsch?
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.
Inhalt der JAR-Datei:
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
Lösung
Sie können Ihren Classpath überprüfen. Es sollte atleast enthalten
- Die JAR-Datei mit Klassen, die Sie geschrieben haben,
- Unterstützung Gläser mit Klassen wie javax.media.opengl (jogl.jar?)
Versuchen Sie, alle diese Gläser in Ihrem Classpath platzieren und ausführen.
Andere Tipps
ist Jogle JAR-Datei in Ihrem Classpath?
Ich sehe Sie die Gläser selbst in Ihrem Glas aufgenommen haben ... dies leider nicht aus der Box arbeitet wil.
Entweder bekommen die Gläser aus dann in Ihrem Classpath setzen oder schreiben Sie Ihre eigenen Classloader (das kann einen Teil Ihres Manifest auch sein) ...
http://java.sun.com/docs /books/tutorial/deployment/jar/downman.html
Aus diesem Grund ist es für William und nicht für Sie gearbeitet ... er die jogl von irgendwo kam anders und haben nicht mit dem man in Ihrem Glas.
Zur Netbeans Ihrer JAR-Datei zu erstellen. Ich finde mit anderen Bibliotheken innerhalb meiner Projekte einschließlich DLL-Dateien sein Bestes so etwas wie Netbeans zu verwenden oder verpacken es nur mit Maven.
mvn clean package
Sie müssen gut in xml versiert werden, obwohl, wenn Sie Maven verwenden möchten alle Ihre JAR-Dateien zu verpacken.