単語分割ソフトウェアを使用して、JNA
という名前の新しいJavaプロジェクトを作成し、必要なファイルをJNA
dirにインポートしてから、コードを変更せずに実行しようとします。 、とのMyEclipseがあることを私に警告します。同じのdirsを作成し、E:/java/JNI/JnaTest_NLPIR/
にNLPIR.dll
を移動し、それは動作しませんでしたライブラリNLPIR.dllをJNAに読み込むことができません
- :
Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'E://java//JNI//JnaTest_NLPIR//NLPIR': Native library (win32-x86-64/E://java//JNI//JnaTest_NLPIR//NLPIR.dll) not found in resource path ([file:/D:/javasoft/MyEclipse_workspace/JNA/bin/, file:/D:/javasoft/MyEclipse_workspace/JNA/lib/jna-4.0.0.jar])
私がしようとしました。
NLPIR.dll
を直接JNA/bin
またはJNA/lib
に移動しますが、動作しませんでした。
私はNLPIR.dll
の位置に起因すると思います。しかし、私はそれを修正する方法を見つけることができませんでした。
私は何か助けや提案に感謝します。
私は 'PATH'に' NLPIR.dll'を追加し、ファイルに 'dll_or_so_path'を修正プロジェクトディレクトリの 'nlpir.properties'を' dll_or_so_path = D:/ javasoft/MyEclipse_workspace/JNA/NLPIR.dll'にコピーします。問題はなくなりましたが、別のものがありました: '%1は有効なWin32アプリケーションではありません。 '私は64ビットMyEclipseを使用しています、それは原因ですか? MyEclipseを32ビットに変更することで問題が解決できるとの回答がありました。 –
ライブラリが32ビットの場合は、32ビットJVMを使用する必要があります。 DLLのアーキテクチャは、JVMのアーキテクチャと一致する必要があります。 – technomage