JNI経由でネイティブメソッドを使用するJavaプログラムがあります。私のJavaコードは基本的に私の.dllからネイティブメソッドを呼び出すためのGUIを実装しています。私のIDE(netbeans)からコードを実行するとすべてうまくいくようですが、.jarファイルを実行しようとすると.dllメソッドにアクセスできないようです。JVMでJNIベースの.jarを実行中
互換性の理由から(たとえ私が64ビットバージョンのwindows7を実行していても)32ビットライブラリでjavaプログラムをコンパイルしました。私は32ビットJavaプラットフォームで.jarを実行しようとしましたが、GUIは通常64ビットバージョンを使用しているようにも表示されませんでした。私はまた、 "system.loadlibrary"コマンドを使用しているので、.dllパスは相対パスでなければなりません。
エラーは「AMD 64ビットプラットフォームでIA 32ビットの.dllをロードできません...だ」とエラーが表示されます。私がJavaの32ビット版から実行すると、「jarfileにアクセスできません...」と表示されます。これにはどんな方法がありますか?プログラムが私のIDEから実行されているという事実は私に、これへの道があるべきだと私に考えさせる。理想的には私のプログラムが32ビットマシンで動くようにしたいので、私はプログラムを64ビットにしたくありません。
また、コンパイラは「ブートストラップクラスパスはソース1.6と組み合わせて設定されていません」という警告をスローしますが、これが私の問題と関連するかどうかはわかりません。
@Ben DLLまたはその中のメソッドが見つからない場合は、例外がスローされます。それを見つけて投稿してください。 – EJP
質問をエラーメッセージで更新しました。 – Ben