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。如果没有,使用依赖walker

于 2012-02-01T03:14:39.187 回答
0

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

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

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

于 2012-02-01T02:44:33.227 回答