Maven リポジトリ ( http://search.maven.org/#search|ga|1|a%3A%22jzmq%22 )から Java ZeroMQ バインディングである jzmq をインストールしようとしています。依存関係として pom.xml[1] に追加すると、Maven は Java ライブラリを提供するメイン jar を期待どおりにダウンロードします。メイン ライブラリに加えて、jzmq にはネイティブ コード ライブラリが必要ですが、これは Maven ではダウンロードされないようです。ネイティブ コード ライブラリが見つからないため、実行時に Java ライブラリで例外が発生します。
ネイティブ ライブラリはリポジトリで提供され、jzmq の pom.xml[2] ファイルは、ネイティブ ライブラリ (libjzmq.so) をダウンロードする必要があることを指定しているようです。ライブラリをダウンロードしてネイティブ ライブラリの場所を手動で設定すると、すべて機能しますが、Maven を介して自動化できるとよいと思います。
Maven がネイティブ ライブラリをダウンロードしてインストールしない理由がわかりません。この問題の解決方法に関するアドバイスや提案をいただければ幸いです。
OpenJDK と Apache Maven 3.0.4 を使用して最新の Ubuntu リリースを実行しています
[0] Maven が提供する jzmq を使用するときに発生する例外は、重要なネイティブ コード ライブラリではありません。
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] jzmq が依存関係として追加されている私の pom.xml
<dependency>
<GroupId>org.zeromq</groupId>
<artifactId>jzmq</artifactId>
version>2.2.2</version>
</dependency>
[2] ネイティブライブラリを参照する jzmq の pom.xml
<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>