web-dev-qa-db-fra.com

Comment résoudre cette erreur JNI lorsque vous essayez d'exécuter LWJGL "Hello World"?

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?

16
yoonsi

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.

12
user207421

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>
0
Vlado Lesko