UnsatisfiedLinkError 的原因是什么?

新手上路,请多包涵

当我尝试运行我的程序时出现以下错误

       Exception in thread "main" java.lang.UnsatisfiedLinkError: no jacob-1.14.3-x86 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1030)
at com.jacob.com.LibraryLoader.loadJacobLibrary(LibraryLoader.java:184)
at com.jacob.com.JacobObject.<clinit>(JacobObject.java:108)
at javaSMSTest.main(javaSMSTest.java:18)

请帮忙

原文由 GuruKulki 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.4k
2 个回答

来自 Javadoc:

如果 Java 虚拟机找不到声明为本机的方法的适当本机语言定义,则抛出该异常。

这是与 JNI 相关的错误。 loadJacobLibrary 正在尝试加载名为 jacob-1.14.3-x86 的本机库,但在 java.library.path 定义的路径上找不到它。当您启动 JVM 时,应该将此路径定义为系统属性。例如

-Djava.library.path=<dir where jacob library is>

在 Windows 上,实际的本机库文件将称为 jacob-1.14.3-x86.dll,而在 Linux 上将称为 libjacob-1.14.3-x86.so

原文由 Mark 发布,翻译遵循 CC BY-SA 2.5 许可协议

您的 java 库路径中需要 jacob-1.14.3-x86 库。

在 Windows 上,这将是 jacob-1.14.3-x86.dll。

这是一个二进制文件,java 使用它来运行本机方法。您正在使用的某些库 (jar) 可能需要它。

这里 你不仅可以看到一个jar,还可以看到jar需要的二进制文件。为您的平台选择一个。

原文由 extraneon 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题