2012-11-06 17 views
5

zeromqとclojureを起動して動作させるために、作業依存関係を教えてもらえますか?Clojure&ZeroMQ

私はいくつか試してみたが、Leiningenを、それらをフェッチすることができません。

[org.zmq/zmq "2.1.0"] 
[org.zmq/jzmq "1.0.0"] 
(中央(http://repo1.maven.org/maven2)でアーティファクト org.zmq:zmq:jar:2.1.0を見つけることができませんでした)

私はjzmq/usr/local/share/java/jzmq.jar)をコンパイルし、私のproject.cljにこれを追加しました:

:native-path "/usr/local/lib" 

答えて

9

は2.0-SNAPSHOT hereあります。

1

あなたはを作成することができます0、あなたの地元のレポにコンパイルされたライブラリをインストールし、その後、同様の質問あなたのproject.clj

:repositories {"local" ~(str (.toURI (java.io.File. "your_local_repository_path")))} 

に以下を追加し、私は以前here

1

に答えてきた残念ながら、ZeroMQはで、公開リポジトリに存在しません少なくとも私がチェックした最後の時間(私は1ヶ月前に思う)。だから、手動でjarファイルをインストールする必要があります。

mvn install:install-file -Dfile=/usr/local/share/java/jzmq.jar -DgroupId=org.zeromq \ 
-DartifactId=jzmq -Dversion=2.1.0 -Dpackaging=jar 

は、次に、あなたのproject.clj[org.zeromq/jzmq "2.1.0"]としてアーティファクトを使用することができます。

レインがすでにロードされてclojarsレポを持っている必要があります。

+0

まだ取得中 artifact org.zeromqが見つかりませんでした:jzmq:jar:2.1.0 central(http://repo1.maven.org/maven2) artifact org.zeromqが見つかりませんでした:jzmq:jar:2.1 .0クロージャーで(https://clojars.org/repo/) 私はそれを見ています.m2/ – DanS

2

私が提案しているのは、すでに提案されているものの混合物ですが、完全性のために、最終的な回答を与えることを願っています。

依存関係はオンラインリポジトリにはないので、プロジェクトのディレクトリ構造自体にjarファイルを含めます。ディレクトリrepositoryにコピーし、プロジェクトの他のファイルとしてソース管理システムに保持します。これはプロジェクトの重要な部分であり、依存関係がなければ実行されません。

このディレクトリでは、Maven Install pluginの助けを借りてjarファイルを保存します。

jarファイルがローカルリポジトリにコピーされる場合は、次のように、あなたは project.cljでそれと依存関係を定義
mvn install:install-file \ 
    -Dfile=/usr/local/share/java/jzmq.jar \ 
    -DgroupId=org.zeromq \ 
    -DartifactId=jzmq \ 
    -Dversion=2.1.0 \ 
    -Dpackaging=jar \ 
    -DlocalRepositoryPath=repository 

(defproject clojure-interal-repo-test "0.1.0-SNAPSHOT" 
    :dependencies [[org.clojure/clojure "1.4.0"] 
       [org.zeromq/jzmq "2.1.0"]] 
    :repositories [["zeromq-repository" {:url  "file:repository" 
             :snapshots false 
             :checksum :ignore 
             :update :never}]]) 

プロジェクトの中で、その正しさを検証するためにlein2 deps :treeを実行します。

$ lein2 deps :tree 
Retrieving org/zeromq/jzmq/2.1.0/jzmq-2.1.0.jar (4k) from file:repository/ 
[org.clojure/clojure "1.4.0"] 
[org.zeromq/jzmq "2.1.0"] 

上記4kが、私はそれをテストするために作成された偽のファイルのサイズであることに注意してください。

Leiningenのwikiの文書Repeatabilityをもう少し読んでください。

+0

ありがとう、私はそれを最後に取りやめました。重要なことは、java.library.pathに/ usr/bin/libを追加することです:jvm-opts – DanS

1

私が動作させる唯一の方法は、jeromqを使うことでした。

[org.zeromq/jeromq "0.3.2"] 

JeromqはネイティブJavaです。

関連する問題