我需要加载一个DLL位于我的Jar文件中的某个地方,但每当我尝试运行Jar时,我都会收到以下错误:
java.lang.UnsatisfiedLinkError: E:\test.dll : Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.load0(Unknown Source)
问题不是来自DLL,它被编译到64位机器,因为我的PC是64位,它没有依赖关系,只有从Jar运行时才会出现问题,当我通过我运行应用程序时Eclipse它运行良好,一切都很好。
我用来加载DLL的代码是:
File libraryFile = new File("E:\test.dll");
Runtime.getRuntime().load(libraryFile .getPath());
我使用Eclipse来存储应用程序。
修改
我尝试使用不同的应用程序Jarring,例如Jar Maker
和Jar Builder
,但没有任何帮助
编辑2 我尝试运行这个确切的应用程序,它可以在IDE中运行,但不能从Jarred文件中运行,尝试移动DLL但是也没有帮助:
public class Test {
public static void main(String[] args) throws Exception {
System.load("E:\\test.dll");
}
}
答案 0 :(得分:1)
您是否尝试在类路径中添加E:\ test.dll。