java.lang.UnsatisfiedLinkError: no jzmq in java.Bibliothek.Pfad
Ich habe eine java-Anwendung mithilfe einer externen dll (zmq). Wenn ich es im debug-Modus in Eclipse, es ist alles in Ordnung. Allerdings, wenn ich exportieren Sie die Anwendung als Ausführbare JAR-Datei dann zu versuchen, es zu starten, ich bekomme den Fehler verweisen auf die dll.
Nach meiner recherche auf dieser Seite, die ich konfiguriert den build-Pfad für die JRE System Library Hinzugefügt, die den Pfad zu dem Ordner mit der dll von Native library location, aber ich bin noch immer dieser Fehler.
Gibt es irgendetwas, was ich tun müssen, weiter? Oder anders?
Danke.
- also diese externe jar existieren in der runnabble jar ?
- Es ist keine externe jar; es ist eine externe dll.
- ohkk was auch immer-Datei,so gibt es in runnable jar ?
- Sein sollte. In den Export-Einstellungen wählte ich "Package required libraries into generated jar". Ich habe auch versucht, wählen Sie "Extract required libraries into generated JAR". Habe den gleichen Fehler in beiden Fällen.
- U öffnen Sie das Glas und prüfen Sie was auch immer Dateien/Klassen, die in ihm existieren.Mat b ur Glas ist nicht immer richtig erstellt
- Wie mache ich das (öffnen Sie die jar-um dessen Inhalt zu prüfen)?
- öffnen Sie es mit winrar oder irgendwelche decompiler
Du musst angemeldet sein, um einen Kommentar abzugeben.
JZMQ braucht zwei Dinge, um zu laufen:
zmq.dll
(die native ZMQ-Bibliothek) undjzmq.dll
(die "Brücke" zwischen Java-Bibliothek und ZMQ). Die Fehlermeldung, die Sie bekommen, bedeutet, dass Ihr compile-Umgebung, nicht finden könnenjzmq.dll
; Sie müssen nur den Pfad angeben, wo Sie es finden könnenjzmq.dll
. Beachten Sie, dass, soweit ich weiß, gibt es keine Möglichkeit fürjzmq.dll
werden in einer JAR-Datei, so können Sie einfach fügen Sie es in Ihrem classpath.Leider kann ich Ihnen nicht genau sagen, wie es zu tun in Windows. Ich komme von Linux, wo die DLLs sind SO Dateien. Da wäre es ein einfaches
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/jzmq
.