IntelliJ java.lang.UnsatisfiedLinkError:C:\ User \ ... \ java_bridge.dll:找不到依赖库

时间:2012-02-01 02:23:39

标签: java maven windows-7 intellij-idea unsatisfiedlinkerror

我正在尝试将IntelliJ java Web应用程序项目(Maven Project)从linux系统导入Windows系统。这个java程序依赖于2个外部库来运行。

在Linux系统上,当我运行我的测试用例(并成功通过)时,两个库加载都很好,但是当我移动到Windows系统时,其中一个库不再正常工作(是的,我确实得到了approproaite windows二进制文件)。

我一直收到错误

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指定了java:C:\ Users \ Admin \ Desktop \ SAINT \ Packages \ cellml-sdk-1.9 \ lib < / p>

由于

2 个答案:

答案 0 :(得分:1)

查看事件日志中的Windows并排(SxS)消息。他们可能会指出丢失的dll。如果没有,请使用dependency walker

答案 1 :(得分:0)

错误消息显示:找不到依赖库。您拥有的DLL需要其他DLL,它们需要位于PATH环境变量中的目录中,而不是java.library.path。

要查看依赖项是什么,可以使用objdump。

您还没有将.dll文件的完整路径添加到PATH,对吗?只需将包含依赖项的目录放入路径即可。