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>
InformationsquelleAutor Jaunty | 2013-09-19
Schreibe einen Kommentar