0

私が取り組んでいる何かで lwjgl と Slick2D ライブラリを使用しています。ある時点で、Minecraft Bukkit プラグインを他の Java プログラムから分割する必要があったため、Java プログラムを別のワークスペースに移動しました。ただし、これを行った後、前述のライブラリを使用したプロジェクトが機能せず、次のエラーが発生します。

スレッド「メイン」の例外 java.lang.UnsatisfiedLinkError: java.library.path に lwjgl がありません

スタック トレースは、main() ブロックで AppGameContainer を初期化した場所を示しています。

AppGameContainer appgc;
    try{
        appgc = new AppGameContainer(new Game(gamename)); // <-- This line
        appgc.setDisplayMode(800, 600, false);
        appgc.setTargetFrameRate(FPS);
        appgc.start();
    }catch(SlickException ex){
        ex.printStackTrace();
    }

このプログラムは、ワークスペースの移行前に完全に正常にコンパイルおよび実行され、ワー​​クスペースの場所を除いて何も変更されていません。ライブラリ jar を削除して再追加しました ([外部 JAR の追加] ではなく [JAR の追加] を使用して、jar ファイルは以前と同様に、プロジェクトに対して相対的に /lib/jars/ にあります)。それらを外部jarとして再追加しようとさえしましたが、それでもうまくいきません。コンパイラは、プログラムを実行する前にエラーを報告していません。

4

2 に答える 2

0

Java プログラムを移動したときに、開発プログラムにネイティブの場所を伝えるファイルを移動していない可能性があります。

appgc = new AppGameContainer(new Game(gamename)); //<-- This line 

UnsatisfiedLinkError がスローされた可能性が最も高いのは、LWJGL/Slick に AppGameContainer の初期化に必要なネイティブがなかったためです。ネイティブをリンクしてみてください。

Eclipse でのネイティブのリンク

Netbeans でのネイティブのリンク

于 2013-07-30T15:01:49.087 に答える