LWJGL Webサイトからサンプル「Hello World」を実行しようとしています。
このリンクから: 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ファイルを含めますが、含めません。明示的に名前を付ける必要があります。
異なる依存関係を使用して同じ問題が発生し、コンパイルするスコープを設定するのに役立ちました。
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>compile</scope>
</dependency>