当前位置: 首页 > 知识库问答 >
问题:

Windows,JNA:无法加载本机库-UnsatisfiedLinkError

丁德义
2023-03-14
    null

如果有人遇到了这个问题,并知道解决这个问题的任何事情,将不胜感激。

Trying (via loadLibrary) jnidispatch
Looking in classpath from sun.misc.Launcher$AppClassLoader@1a1a7aa4 for /com/sun/jna/win32-x86-64/jnidispatch.dll
Found library resource at jar:file:/C:/Users/jo24447/.m2/repository/net/java/dev/jna/jna/4.2.2/jna-4.2.2.jar!/com/sun/jna/win32-x86-64/jnidispatch.dll
Trying C:\Users\jo24447\AppData\Local\Temp\jna--734724592\jna8544680981267090708.dll
Found jnidispatch at C:\Users\jo24447\AppData\Local\Temp\jna--734724592\jna8544680981267090708.dll
Looking for library 'VixAllProductsDyn'
Adding paths from jna.library.path: C:\Program Files (x86)\VMware\VMware VIX
Trying C:\Program Files (x86)\VMware\VMware VIX\VixAllProductsDyn.dll
Adding system paths: []
Trying C:\Program Files (x86)\VMware\VMware VIX\VixAllProductsDyn.dll
Looking for lib- prefix
Trying libVixAllProductsDyn.dll
Looking in classpath from sun.misc.Launcher$AppClassLoader@1a1a7aa4 for VixAllProductsDyn
Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'VixAllProductsDyn': Native library (win32-x86-64/VixAllProductsDyn.dll) not found in resource path ([file:/C:/Users/jo24447/luna_workspace/VMUtil/vm-util/target/classes/, file:/C:/Users/jo24447/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar, file:/C:/Users/jo24447/.m2/repository/org/slf4j/slf4j-api/1.7.2/slf4j-api-1.7.2.jar, file:/C:/Users/jo24447/.m2/repository/org/slf4j/slf4j-log4j12/1.7.2/slf4j-log4j12-1.7.2.jar, file:/C:/Users/jo24447/.m2/repository/net/java/dev/jna/jna/4.2.2/jna-4.2.2.jar, file:/C:/Users/jo24447/.m2/repository/net/java/dev/jna/jna-platform/4.2.2/jna-platform-4.2.2.jar])
    at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:277)
    at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:403)
    at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:342)
    at edu.mit.ll.oms.security.vm.VIXLibrary.<clinit>(VIXLibrary.java:24)
    at edu.mit.ll.oms.security.vm.test.QuickTest.main(QuickTest.java:16)

共有1个答案

燕博文
2023-03-14

(1)尝试以下方法:

  1. 将两个窗口(64/32位)DLL(如果愿意,也可以)放入一个zip文件中,然后将该文件重命名为。jar。
  2. 将该文件添加到应用程序类路径中。
  3. 现在,如果您的dll名为“vixallproductsdyn.dll”,则按如下方式调用loadLibrary:native.loadLibrary(“vixallproductsdyn”,“vixallproductsdyn.class”);

(2)其次,是否尝试这样设置路径:java-djava.library.path=c:\yourlocation VixAllProductsDyn

更新:

你能分享你的代码吗?它应该如下所示:

VixAllProductsDyn lib = (VixAllProductsDyn) Native.loadLibrary("VixAllProductsDyn", VixAllProductsDyn.class);

vixAllProductSdyn.java是一个接口,包含您想要使用的所有方法:

public interface VixAllProductsDyn extends Library {

    public abstract NativeLong OneOfTheMethodsYouWantToCall();
    ...
}
 类似资料:
  • 我正在通过Node.js1的[node-java]包装器运行一个JNA编译的本机库 这个库是Hunsplaw JNA,它包装了Hunsplaw拼写库。 当试图从lib路径加载本机库时,所发生的情况是节点似乎挂起: 库就在那里,我也尝试了该方法的第二个选项,复制到一个临时文件夹中并从那里加载,这样我就可以看到 它就在那里。

  • 我使用JVM32bit、JNA3.5.2和VLCJ3.0.1。 从我所看到的是加载32bit库,但我的操作系统是64bit。这就是问题所在吗?

  • 当我试图在模拟器x86-64上运行我的项目时,我遇到了崩溃。我试过很多不同的解决办法,但没有人帮助我解决我的问题。 Engine ;Mobile:本机库加载失败:java.lang.unsatifiedLinkError:dalvik.system.pathClassLoader[DexpathList[[zip文件“/data/app/package-name-1/base.apk”],nati

  • 我在Mac OS X中使用Hadoop。我想我正确地安装了Hadoop。当我试图运行一个示例WordCount问题时,我得到了以下错误: INFO util.NativEcodeLoader-无法为您的平台加载本机Hadoop库...在适用的情况下使用内置Java类

  • 我正在尝试从Spark开始。我的库中有Hadoop(3.3.1)和Spark(3.2.2)。我已经将SPARK_HOME、PATH、HADOOP_HOME和LD_LIBRARY_PATH设置为各自的路径。我还在运行JDK 17(在终端中回声和-version工作正常)。 然而,我仍然得到以下错误: 有没有办法解决这个问题?

  • 在我的Windows10机器上启动播放项目时遇到问题(在Win7上运行良好) 当我执行“激活器运行”时,我会得到以下结果: 我试过很多事情都没有成功。我试着从: 至 addSbtPlugin(“com.typesafe.play”%“sbt-plugin”%“2.3.2”) 我得到另一个错误: 再一次,我在Win10(64bit)上 这里真的需要一些帮助,被困了几天。