Was ist die Ursache für einen UnsatisfiedLinkError?
Wenn ich versuche zu laufen meine Programm es gibt die folgenden Fehler
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)
bitte helfen
- Bitte ändern Sie Ihren Titel, so ist es deutlicher
- Könnte Sie nach Ihrem code zu (speziell
LibraryLoader.loadJacobLibrary()
)?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der Javadoc:
Es ist ein Fehler mit Bezug zu JNI. loadJacobLibrary versucht, zum laden der native-Bibliothek namens jacob-1.14.3-x86 und es ist nicht auf die definierten Pfad von java.Bibliothek.Pfad. Dieser Pfad sollte definiert werden als ein system-property beim start der JVM. z.B.
Unter Windows, die tatsächliche native Bibliothek-Datei aufgerufen werden jacob-1.14.3-x86.dll während unter Linux es aufgerufen werden würde, libjacob-1.14.3-x86.so
Müssen Sie die jacob-1.14.3-x86-Bibliothek auf Ihrem java library path.
Unter windows wäre dies jacob-1.14.3-x86.dll.
Dies ist eine binäre Datei, die vom java zum ausführen von nativen Methoden. Es ist wahrscheinlich erforderlich, die von einigen-Bibliothek (jar), die Sie verwenden.
In hier sehen Sie nicht nur eine jar, sondern auch der binäre erforderlich, die durch das Glas. Wählen Sie die für Ihre Plattform.
Zitieren http://www.velocityreviews.com/forums/t143642-jni-unsatisfied-link-error-but-the-method-name-is-correct.html:
Die Fehler, die Sie klar zu beschreiben nicht finden können, die Bibliothek. Wie die anderen schon gesagt haben, fügen Sie es in Ihren Java-library-path.
Den anderen Fehler—wenn die Bibliothek gefunden werden kann, aber die Methode in der Bibliothek nicht gefunden—sieht aus wie folgt:
In diesem Fall haben Sie entweder die falsche Methode, Namen, oder Sie müssen gehen Sie zurück und fügen Sie die Methode und den code neu kompilieren...