我正在寻找针对JNI的以下问题的解决方案/建议:
我正在尝试加载一个库文件(* .lib),它是从我的代码中动态创建的,并放在文件系统的temp文件夹中。但是当我尝试在Java API中加载System.load
或System.loadlibrary
时,我收到不满意的链接错误。
这里重要的是,我正在使用
从命令行运行我的应用程序
java -jar <executable-jar-file>
我确认:
请提出解决方案。提前谢谢。
答案 0 :(得分:0)
loadLibrary
查看系统路径/库路径。我认为TEMP
不包括在内。最好的方法是根据TEMP
环境变量的值构建完整路径,并将该路径提供给loadLibrary
:
String path = System.getenv( "TEMP" );
path += File.separator + "yourlibrary.dll"; //or in the case of linux will be yourlibrary.so!
System.loadLibrary( path );
答案 1 :(得分:0)
问题已解决。
实际上问题在于测试服务器没有所需的OS库包。
我从以下网址下载了相同内容: http://www.microsoft.com/downloads/en/details.aspx?familyid=766A6AF7-EC73-40FF-B072-9112BAB119C2&displaylang=en
现在一切都准备好了......
感谢 巴鲁