2009-03-09 8 views
0

J'essaie de transformer mon projet JoGL en pot. Quelqu'un peut-il me dire ce que je fais mal? http://www.megaupload.com/?d=MA3LF50Jquoi de mal avec ce fichier Jar?

EDIT de schnaader: Stacktrace de mon PC:

EDIT DE WILLIAM: Il fonctionne sur mon PC très bien comme un projet normal à l'intérieur JCreator, donc je sais que ce n'est pas le code. J'ai JoGL dans le dossier/lib/ext/de mon jre aussi.

 
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. 

EDIT2 de schnaader: Contenu du fichier 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 
+0

Avez-vous une vid, une capture d'écran ou un stacktrace pour ceux qui n'ont pas envie de télécharger votre fichier .jar (comme moi?) – OscarRyz

+0

Ajout d'une pile de pile. Le code source n'est pas inclus, donc le débogage n'est pas vraiment possible ici. – schnaader

+0

s'il vous plaît ajouter une capture d'écran de la façon dont votre jar ressemble à une visualisation avec un programme zip (7-zip, par exemple) – flybywire

Répondre

4

Vous pouvez vérifier votre classpath. Il devrait inclure atleast

  • Le fichier jar avec les classes que vous avez écrit
  • Soutien des pots avec des classes comme javax.media.opengl (jogl.jar?)

Essayez de placer tous ces pots dans votre classpath et exécutez-le.

0

est le fichier JAR jar dans votre classpath? Je vois que vous avez inclus les pots eux-mêmes dans votre pot ... cela malheureusement ne fonctionnera pas de la boîte.

soit obtenir les pots puis à placer dans votre classpath (qui peut faire partie de votre manifeste aussi) ou écrivez votre propre classloader ...

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

C'est la raison pour laquelle il a travaillé pour William et non pour toi ... il a pris le jogl d'ailleurs et n'a pas utilisé celui de ton pot.

0

Basculez vers Netbeans pour créer votre fichier jar. Je trouve l'utilisation d'autres bibliothèques à l'intérieur de mes projets, y compris les fichiers dll de son mieux pour utiliser quelque chose comme Netbeans ou juste le paquet avec maven.

mvn clean package 

Vous devez être bien versé dans XML si vous voulez utiliser maven pour empaqueter tous vos fichiers jar.

Questions connexes