Die Installation der ZeroMQ Java binding (jzmq) mit Maven, Fehlende Native-Code-Bibliothek
Ich bin versucht zu installieren jzmq, die ZeroMQ Java binding, aus dem Maven-repository (http://search.maven.org/#search/ga/1/a%3A%22jzmq%22). Beim hinzufügen einer Abhängigkeit zu meiner pom.xml[1] Maven lädt die Haupt-jar, die eine Java-Bibliothek, als erwartet. Neben der Hauptbibliothek, jzmq erfordert ein native-code-Bibliothek, die Maven nicht angezeigt zum download. Zur Laufzeit der Java-Bibliothek wirft eine exception durch die fehlende native-code-Bibliothek.
Die native Bibliothek wird in das repository und die pom.xml[2] Datei jzmq wird angezeigt, um anzugeben, dass die native Bibliothek (libjzmq.so) heruntergeladen werden soll. Wenn ich laden Sie die Bibliothek, und legen Sie die native Bibliothek Standort manuell alles funktioniert, würde ich allerdings vorziehen, wenn dies automatisiert werden kann über Maven.
Ich bin nicht sicher, warum Maven ist nicht das herunterladen und installieren des nativen Bibliothek, irgendwelche Ratschläge oder Vorschläge, wie dieses problem zu beheben würde sehr geschätzt werden.
Ich bin mit der neuesten Ubuntu Version, die mit OpenJDK und Apache Maven 3.0.4
[0] die Ausnahme, Die ausgelöst wird, wenn mit jzmq wie Maven, sans die entscheidende native-code-Bibliothek.
Exception in thread "main" java.lang.UnsatisfiedLinkError: no jzmq in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1874)
at java.lang.Runtime.loadLibrary0(Runtime.java:849)
at java.lang.System.loadLibrary(System.java:1087)
at org.zeromq.ZMQ.<clinit>(ZMQ.java:39)
[1] Meine pom.xml wo jzmq Hinzugefügt wird, als eine Abhängigkeit
<dependency>
<GroupId>org.zeromq</groupId>
<artifactId>jzmq</artifactId>
version>2.2.2</version>
</dependency>
[2] Die pom.xml für jzmq, wo die native Bibliothek bezeichnet
<profile>
<id>Linux</id>
<activation>
<property>
<name>os.name</name>
<value>Linux</value>
</property></activation>
<properties>
<native.os>${os.name}</native.os>
<native.path>src/.libs/libjzmq.so</native.path>
<!-- Use platform-specific path separators here: -->
<native.library-path>src/.libs/</native.library-path>
</properties>
</profile>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie sagen Java, wo Sie die native Bibliothek.
Laufen jzmq, benötigen Sie 2 Dinge,
finden http://zeromq.org/bindings:java zum detail
Zur Vermeidung der Konfiguration Schwierigkeiten, ich glaube, Sie können überprüfen, wie Betten die native lib. Wenn die Klasse "org.zeromq.ZMQ" initialisiert sich, es wird versucht, laden Sie die eingebettete lib ersten,