je souhaite faire de la 3D avec java avec une contrainte : utiliser OpenGl.
J'ai commencé avec Netbeans mais j'ai des problèmes de java.lang.NoClassDefFoundError: com/jogamp/common/jvm/JVMUtil, j'ai donc lu le post suivant de votre forum : http://forum.hardware.fr/hfr/Progr [...] 1088_1.htm et j'ai décidé de suivre pas à pas ces étapes en abandonnant NetBeans pour le moment.
Voici les étapes que j'ai suive : 1] Création de l'arborescence : M:\TravailPerso\Projets\Test dossier qui va contenir mon projet. M:\TravailPerso\Projets\Test\classes M:\TravailPerso\Projets\Test\conf M:\TravailPerso\Projets\Test\lib M:\TravailPerso\Projets\Test\src\OpenGl
2] Téléchargement des jars qu'il me faut (j'utilise JOGL) que j'ai placé dans le dossier M:\TravailPerso\Projets\Test\lib : jogl.all.jar jogl-demos-data.jar jogl-natives-windows-i586.jar nativewindow.all.jar
3] Création de la classe main :
Code :
package OpenGl;
import java.awt.*;
import java.awt.event.*;
import javax.media.opengl.*;
//import com.sun.opengl.util.*;
import javax.media.opengl.awt.GLCanvas;
import javax.media.opengl.GLProfile;
publicclass test implements GLEventListener {
publicstaticvoid main(String[] args) {
Frame frame = new Frame("test" );
GLCanvas canvas = new GLCanvas();
//canvas.addGLEventListener(new test());
//frame.add(canvas);
//final Animator animator = new Animator(canvas);
frame.addWindowListener(new WindowAdapter() {
publicvoid windowClosing(WindowEvent e) {
new Thread(new Runnable() {
publicvoid run() {
//animator.stop();
System.exit(0);
}
}).start();
}
});
frame.setSize(300, 300);
frame.setVisible(true);
//animator.start();
}
publicvoid init(GLAutoDrawable drawable) {
GL gl = drawable.getGL();
gl.setSwapInterval(1);
}
publicvoid reshape(GLAutoDrawable drawable, int x, int y, int width,
4] Création des .bat : - setEnv.bat SET JAVA_HOME=M:\TravailPerso\jdk6Update20 SET PATH=%JAVA_HOME%\bin;%PATH%
SET CLASSPATH=.\lib\jogl.all.jar SET CLASSPATH=%CLASSPATH%;.\lib\jogl-demos-data.jar SET CLASSPATH=%CLASSPATH%;.\lib\jogl-natives-windows-i586.jar SET CLASSPATH=%CLASSPATH%;.\lib\nativewindow.all.jar SET CLASSPATH=%CLASSPATH%;.\classes
Je n'ai aucune erreur de compilation, par contre quand j'exécute le code avec ma commande run, j'ai l'erreur suivante : Exception in thread "main" java.lang.NoClassDefFoundError: com/jogamp/common/jvm/JVMUtil at javax.media.opengl.GLProfile$1.run(GLProfile.java:811) at java.security.AccessController.doPrivileged(Native Method) at javax.media.opengl.GLProfile.<clinit>(GLProfile.java:808) at javax.media.opengl.awt.GLCanvas.<clinit>(GLCanvas.java:78) at OpenGl.test.main(test.java:16) Caused by: java.lang.ClassNotFoundException: com.jogamp.common.jvm.JVMUtil at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) ... 5 more
Marsh Posté le 28-05-2010 à 11:30:23
Bonjour,
je souhaite faire de la 3D avec java avec une contrainte : utiliser OpenGl.
J'ai commencé avec Netbeans mais j'ai des problèmes de java.lang.NoClassDefFoundError: com/jogamp/common/jvm/JVMUtil, j'ai donc lu le post suivant de votre forum :
http://forum.hardware.fr/hfr/Progr [...] 1088_1.htm
et j'ai décidé de suivre pas à pas ces étapes en abandonnant NetBeans pour le moment.
Voici les étapes que j'ai suive :
1] Création de l'arborescence :
M:\TravailPerso\Projets\Test dossier qui va contenir mon projet.
M:\TravailPerso\Projets\Test\classes
M:\TravailPerso\Projets\Test\conf
M:\TravailPerso\Projets\Test\lib
M:\TravailPerso\Projets\Test\src\OpenGl
2] Téléchargement des jars qu'il me faut (j'utilise JOGL) que j'ai placé dans le dossier M:\TravailPerso\Projets\Test\lib :
jogl.all.jar
jogl-demos-data.jar
jogl-natives-windows-i586.jar
nativewindow.all.jar
3] Création de la classe main :
4] Création des .bat :
- setEnv.bat
SET JAVA_HOME=M:\TravailPerso\jdk6Update20
SET PATH=%JAVA_HOME%\bin;%PATH%
SET CLASSPATH=.\lib\jogl.all.jar
SET CLASSPATH=%CLASSPATH%;.\lib\jogl-demos-data.jar
SET CLASSPATH=%CLASSPATH%;.\lib\jogl-natives-windows-i586.jar
SET CLASSPATH=%CLASSPATH%;.\lib\nativewindow.all.jar
SET CLASSPATH=%CLASSPATH%;.\classes
-make.bat
javac -classpath %CLASSPATH% -d .\classes src\OpenGl\*.java
- run.bat
java -classpath %CLASSPATH% OpenGl.test
Je n'ai aucune erreur de compilation, par contre quand j'exécute le code avec ma commande run, j'ai l'erreur suivante :
Exception in thread "main" java.lang.NoClassDefFoundError: com/jogamp/common/jvm/JVMUtil
at javax.media.opengl.GLProfile$1.run(GLProfile.java:811)
at java.security.AccessController.doPrivileged(Native Method)
at javax.media.opengl.GLProfile.<clinit>(GLProfile.java:808)
at javax.media.opengl.awt.GLCanvas.<clinit>(GLCanvas.java:78)
at OpenGl.test.main(test.java:16)
Caused by: java.lang.ClassNotFoundException: com.jogamp.common.jvm.JVMUtil
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 5 more
Avez vous des idées pour résoudre cet erreur ?
Merci.