2

私はたくさん読んだことがありますが、まだ解決策を見つけることができていません。

私が使用してlwjglいるのは、実行するために2つのjarとネイティブライブラリlwjgl.jarlwjgl_util.jarおよびネイティブライブラリが必要です。とにかく、私は考えられるあらゆる方法でこれを試しましたが、現時点では次のようなコマンドを試しています。

java - Djava.library.path="libs/natives/" -cp libs/jars/lwjgl.jar:libs/jars/lwjgl_util.jar DisplayTest.class

しかし、私が試みるあらゆる方法で、私は得ます:

Exception in thread "main" java.lang.NoClassDefFoundError: DisplayTest/class
Caused by: java.lang.ClassNotFoundException: DisplayTest.class
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: DisplayTest.class. Program will exit

ああ、私がLinux端末で作業していることは言及する価値があるかもしれません。また、私はこれをEclipseで完全に正常に実行できるようにしているので、ここで何が起こっているのか本当に理解できません。

4

4 に答える 4

4

まず、クラス名をjavaに渡す必要があります。

java -Djava.library.path="libs/natives/" 
     -cp libs/jars/lwjgl.jar:libs/jars/lwjgl_util.jar DisplayTest

(読みやすさのための改行)

私は次のことを試みます:

1)次のように、CLASSPATH環境変数を使用します。

  CLASSPATH=.:/path/to/lwjgl/lwjgl.jar:/path/to/lwjgl/lwjgl_util.jar 
  export CLASSPATH

クラスパスの先頭にあるドット(。)に注意してください。

2)Javaアプリケーションを実行します。

  java -Djava.library.path="libs/natives" DisplayTest

これが機能する場合は、上記のコマンドをシェルスクリプトに追加します。幸運を!

于 2012-09-04T16:54:43.160 に答える
1

「.class」を外してみてください。

java -Djava.library.path = "libs / natives /" -cp libs / jars / lwjgl.jar:libs / jars / lwjgl_util.jar DisplayTest.class

になります:

java -Djava.library.path = "libs / natives /" -cp libs / jars / lwjgl.jar:libs / jars / lwjgl_util.jar DisplayTest

「.class」を追加することで、「DisplayTest」というディレクトリに「class」というクラスがあることをコマンドに伝えますが、これは達成しようとしていることではありません。これは次の行に示されています。

Exception in thread "main" java.lang.NoClassDefFoundError: DisplayTest/class
于 2012-09-04T16:55:37.970 に答える
0

javaコマンドをトリガーするときは、-cpまたは-classpathを使用します。javaコマンドだけを入力して使用法を確認してください

于 2012-09-04T16:50:36.093 に答える
0

同様のエラーが発生しました。

実行時にクラスパスに必要なライブラリとともに、作業ディレクトリ(独自のクラスがある場所)を含めるだけです。

NoCLassDefFoundErrorマシンが.class実行時にファイルを見つけることができない場合に発生します(ファイルがコンパイルされている場合でも、コンパイル中にエラーは発生しませんが、実行時にのみ発生します)

ステップ1:javac -classpath "path / to / lib1:path / to / lib2" yourfile.javaをコンパイルしますステップ2:java --classpath "path / to / lib1:path / to / lib2:path / to/yourを実行します/ currentdirectory / wherethedotclass / filearecreated / "yourfile

于 2014-11-21T18:54:48.723 に答える