Как устранить эту ошибку JNI при попытке запустить LWJGL "Hello World"?

Я'пытаюсь запустить пример "Hello World" с сайта LWJGL.

По этой ссылке: LWJGL "Getting Started"

Я пытаюсь сделать это через командную строку, просто чтобы лучше понять "закулисье".

Мне удалось скомпилировать без каких-либо ошибок, но когда я пытаюсь запустить программу, я получаю эту ошибку:

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

Есть идеи?

Решение

Запись CLASSPATH - это либо каталог во главе иерархии пакетов с файлами .class, либо файл .jar. Если вы ожидаете, что ./lib включит все файлы .jar в этом каталоге, то это не так. Вы должны назвать их явным образом.

Комментарии (8)

У меня была та же проблема с использованием разных зависимостей, что мне помогло, так это установить область видимости для компиляции.


        javax.servlet
        javax.servlet-api
        3.0.1
        compile
Комментарии (0)