我有一个与 JNI 和 Java 相关的问题。事情是这样的:客户希望我们在他的系统上安装某个应用程序。这个应用程序使用 native 库,但客户端不想将这些库放在他的系统文件夹中,原因我不太了解或理解,但无法更改。
为了规避这个问题,我尝试使用 -Djava.library.path
启动 JVM,并在其中放入正确的 dll。但事实是,我有一个UnsatisfiedLinkError
当我尝试启动我的项目时。从我所看到的来看,问题不在调用的主dll中(因为该文件显然存在,我在调试时看到它),我认为这一定是第一个dll链接的一些库有问题,但我不知道不知道如何找到缺少的 dll。
知道如何解决这个问题吗?
最佳答案
我的第一个调用端口(即使是 JNI 调试)始终是 Dependency Walker 。如果不出意外,它会告诉您 DLL 所依赖的所有其他 DLL。
ldd
与 Linux 相同。
关于java - 如何调试在 Java 中加载 native 库时出现的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2289937/