Pregunta

Intento convertir mi proyecto JoGL en un archivo jar . ¿Qué estoy haciendo mal?

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
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
(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.

Contenido del archivo JAR:

<*>
¿Fue útil?

Solución

Puedes verificar tu ruta de clase. Debe incluir al menos

  • El archivo jar con las clases que has escrito
  • Compatibilidad con archivos jar con clases como javax.media.opengl (jogl.jar?)

Intenta colocar todos estos jars en tu classpath y ejecútalo.

Otros consejos

¿Está el archivo jar de Jogle en tu ruta de clase?

Veo que has incluido los frascos en tu frasco ... desafortunadamente, esto no funcionará de la caja.

Saque los frascos y colóquelos en su classpath (que también puede ser parte de su manifiesto) o escriba su propio cargador de clases ...

http://java.sun.com/docs /books/tutorial/deployment/jar/downman.html

Esta es la razón por la que funcionó para William y no para ti ... él obtuvo el jogl de otra parte y no usó el que está dentro de tu jarra.

Cambia a Netbeans para construir tu archivo jar. Encuentro que usar otras bibliotecas dentro de mis proyectos, incluidos los archivos dll, es mejor usar algo como Netbeans o simplemente empaquetarlo con maven.

mvn clean package

Necesitas estar bien versado en xml, si quieres usar maven para empaquetar todos tus archivos jar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top