4

良い一日!

(Netbeans を使用して) jar ファイルを作成しましたが、起動できません。このプロジェクトは lwjgl ライブラリを使用します。私のIDE内ではうまくいきます。

次のコマンドを使用します。

java -jar LWJGL_TimerExample.jar 

答えは:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1758)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1045)
at org.lwjgl.Sys$1.run(Sys.java:73)
at java.security.AccessController.doPrivileged(Native Method)
at org.lwjgl.Sys.doLoadLibrary(Sys.java:66)
at org.lwjgl.Sys.loadLibrary(Sys.java:82)
at org.lwjgl.Sys.<clinit>(Sys.java:99)
at org.lwjgl.opengl.Display.<clinit>(Display.java:130)
at Sourse.TimerExample.start(TimerExample.java:32)
at lwjgl_timerexample.Main.main(Main.java:21)

他のプロジェクト (このライブラリなし) は正常に動作します。このエラーを解決するにはどうすればよいですか?

私のマニフェストは次のとおりです。

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.1
Created-By: 1.6.0_26-b03-384-10M3425 (Apple Inc.)
Main-Class: lwjgl_timerexample.Main
Class-Path: lib/jinput.jar lib/lwjgl.jar lib/lwjgl_util.jar
X-COMMENT: Main-Class will be added automatically by build
4

2 に答える 2

4

jarの横にネイティブファイルを配置し、「-Djava.library.path」パラメータを介してそれらを指す必要があるため、現在の方法では機能しません。

単一のjarが必要で、コマンドラインやネイティブファイルの煩わしさを避けたい場合は、JarSpliceツールを使用してください。JarSpliceは使いやすく、ネイティブファイルを自動的に処理します。

1)プロジェクト(クラスとリソース)をjarにエクスポートするだけです(IDEを介してエクスポートする方が簡単です)。

2)次に、JarSpliceを実行し、必要なすべてのjarを[jar]タブ(アプリのjar、lwjgl.jar、および使用している他の外部jar)に追加します。

3)次に、[ネイティブ]タブで、すべてのネイティブファイル(windows * .dll、linux * .so、mac * .dylib、および* .jnilib)を追加します。

4)[クラス]タブで、メインクラスを追加します。次に、jarファイルを作成します。

次に、このjarをダブルクリックするだけで実行できます(または、コマンドラインで「java-jaryourapp.jar」を使用する場合)。

于 2011-07-19T15:48:56.057 に答える
1

LWJGL wikiから:

LWJGLは、Java部分とネイティブコード部分の2つの部分で構成されています。lwjglを機能させるには、これらのパーツの両方を適切にセットアップする必要があります。Javaパーツをセットアップするには、lwjgl.jarをクラスパスに(外部ライブラリjarとして)追加する必要があります。ネイティブ部分(Windowsの* .dllファイル、Linuxの* .so、Macの* .jnilibなど)については、LWJGLがネイティブを見つけることができるようにネイティブが配置されているフォルダーをJavaに指示する必要があります(-を使用)これを行うには、 Djava.library.path = path / to / dir vmパラメーター)。

2番目の部分が欠落しているようです-にネイティブライブラリがありますjava.library.path

于 2011-07-19T15:50:30.450 に答える