J'essaie d'exécuter l'exemple "Hello World" du site Web de LWJGL
Depuis ce lien: LWJGL "Getting Started"
J'essaie de le faire via la ligne de commande, juste pour que je comprenne un peu mieux les "coulisses".
J'ai réussi à compiler sans erreur, mais lorsque j'essaie d'exécuter le programme, j'obtiens cette erreur:
C:\JavaProjects\LearningLWJGL>Java -classpath .;./lib/*.jar -Djava.library.path=C:\Windows\System32 HelloWorld
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" Java.lang.NoClassDefFoundError: org/lwjgl/glfw/GLFWKeyCallback
at Java.lang.Class.getDeclaredMethods0(Native Method)
at Java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at Java.lang.Class.privateGetMethodRecursive(Unknown Source)
at Java.lang.Class.getMethod0(Unknown Source)
at Java.lang.Class.getMethod(Unknown Source)
at Sun.launcher.LauncherHelper.validateMainClass(Unknown Source)
at Sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: Java.lang.ClassNotFoundException: org.lwjgl.glfw.GLFWKeyCallback
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)
... 7 more
Des idées?
Une entrée CLASSPATH est soit un répertoire en tête d'une hiérarchie de packages de fichiers .class, soit un fichier .jar. Si vous attendez ./lib
pour inclure tous les fichiers .jar dans ce répertoire, ce ne sera pas le cas. Vous devez les nommer explicitement.
J'avais le même problème en utilisant des dépendances différentes, ce qui m'a aidé à définir la portée à compiler.
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>compile</scope>
</dependency>