java classpath lwjgl

java - ¿Cómo resolver este error JNI al intentar ejecutar LWJGL "Hello World"?



classpath (2)

Estoy intentando ejecutar el ejemplo "Hello World" desde el sitio web de LWJGL

Desde este enlace: LWJGL "Getting Started"

Estoy tratando de hacer esto a través de la línea de comandos, solo para entender un poco mejor "detrás de escena".

Me las arreglé para compilar sin ningún error, pero cuando intento ejecutar el programa recibo este error:

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

¿Algunas ideas?


Tuve el mismo problema al usar una dependencia diferente, lo que me ayudó a establecer el alcance para compilar.

<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>compile</scope> </dependency>


Una entrada de CLASSPATH es un directorio al principio de una jerarquía de paquetes de archivos .class o un archivo .jar. Si está esperando que ./lib incluya todos los archivos .jar en ese directorio, no lo hará. Tienes que nombrarlos explícitamente.