代码之家  ›  专栏  ›  技术社区  ›  GuruKulki

不满意链接错误的原因是什么?

  •  9
  • GuruKulki  · 技术社区  · 15 年前

    当我试图运行我的程序时,它给出了以下错误

           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)
    

    请帮忙

    3 回复  |  直到 15 年前
        1
  •  22
  •   Mark    15 年前

    如果Java虚拟机找不到声明为native的方法的适当的本机语言定义,则引发。

    这是一个与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

        2
  •  2
  •   extraneon    15 年前

    在java库路径上需要jacob-1.14.3-x86库。

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

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

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

        3
  •  1
  •   phantom-99w    14 年前

    引用 http://www.velocityreviews.com/forums/t143642-jni-unsatisfied-link-error-but-the-method-name-is-correct.html :

    System.loadLibrary()无法加载库,另一个是当 JVM在库中找不到特定的方法。文件的文本 错误消息本身将指示是哪种情况。。。

    你所描述的错误根本找不到库。正如其他人所说的,将其包含在Java库路径中。

    java.lang.UnsatisfiedLinkError: myObject.method([Ljava/lang/Object;)V