0

IntelliJ Java Web アプリケーション プロジェクト (Maven プロジェクト) を Linux システムから Windows システムにインポートしようとしています。この Java プログラムは、実行するために 2 つの外部ライブラリに依存しています。

Linux システムでは、テスト ケースを実行すると両方のライブラリが正常にロードされます (そして成功します)。ただし、Windows システムに移行すると、ライブラリの 1 つが正しく動作しなくなります (はい、適切なウィンドウを取得するようにしました)。バイナリ)。

エラーが発生し続けます

Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\Admin\Desktop\SAINT\Packages\cellml-sdk-1.9\lib\cellml_java_bridge.dll: Can't find dependent libraries  

この時点では、.dll がディレクトリに存在するため、何が間違っているのかわかりません。.dll の場所は、Windows の PATH 変数にも存在し、-Djava.library.path=C:\Users\Admin\Desktop\SAINT\Packages\cellml-sdk-1.9\lib を使用して Java に指定しました。

ありがとう

4

2 に答える 2

2

Windows サイド バイ サイド (SxS) メッセージのイベント ログを調べます。不足している dll を指している可能性があります。そうでない場合は、依存関係ウォーカーを使用します

于 2012-02-01T03:14:39.187 に答える
0

エラー メッセージは次のとおりです。依存ライブラリが見つかりません。あなたが持っている DLL は他の DLL を必要とし、それらは java.library.path ではなく PATH 環境変数にあるディレクトリにある必要があります。

依存関係を確認するには、objdump を使用できます。

.dll ファイルへのフル パスを PATH に追加していませんか? 依存関係を含むディレクトリをパスに入れるだけです。

于 2012-02-01T02:44:33.227 に答える