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
War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top