Estoy intentando ejecutar el ejemplo "Hello World" del sitio web de LWJGL
Desde este enlace: LWJGL "Getting Started"
I'm tratando de hacer esto a través de la línea de comandos, sólo para que yo entienda el "detrás de las escenas" un poco mejor.
He conseguido compilar sin errores, pero cuando intento ejecutar el programa me sale 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
¿Alguna idea?
Una entrada CLASSPATH puede ser un directorio en la cabecera de una jerarquía de paquetes de ficheros .class, o un fichero .jar. Si espera que ./lib
incluya todos los ficheros .jar de ese directorio, no lo hará. Tiene que nombrarlos explícitamente.
Tuve el mismo problema utilizando diferentes dependencias lo que me ayudó es establecer el alcance de compilar.
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>compile</scope>
</dependency>