Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure&;ZeroMQ_Clojure_Zeromq - Fatal编程技术网

Clojure&;ZeroMQ

Clojure&;ZeroMQ,clojure,zeromq,Clojure,Zeromq,有人能告诉我一些使用zeromq和clojure启动和运行的工作依赖项吗 我试过几次,但leiningen无法取到: (在central中找不到工件org.zmq:zmq:jar:2.1.0)(http://repo1.maven.org/maven2)) 我已经编译了jzmq(/usr/local/share/java/jzmq.jar)并将其添加到我的项目中。clj: :native-path "/usr/local/lib" 您可以创建,将编译后的库安装到本地repo中,然后将以下内容

有人能告诉我一些使用zeromq和clojure启动和运行的工作依赖项吗

我试过几次,但leiningen无法取到:

(在central中找不到工件
org.zmq:zmq:jar:2.1.0
)(http://repo1.maven.org/maven2))

我已经编译了
jzmq
/usr/local/share/java/jzmq.jar
)并将其添加到我的
项目中。clj

:native-path  "/usr/local/lib"
您可以创建,将编译后的库安装到本地repo中,然后将以下内容添加到
项目中。clj

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

类似的问题,我在前面回答过,不幸的是,ZeroMQ不在公共存储库中,至少在我上次检查时(我想是一个月前)。因此,您必须手动安装jar:

mvn install:install-file -Dfile=/usr/local/share/java/jzmq.jar -DgroupId=org.zeromq \
-DartifactId=jzmq -Dversion=2.1.0 -Dpackaging=jar
然后您可以在
项目中使用工件作为
[org.zeromq/jzmq“2.1.0”]
。clj

有一个2.0-SNAPSHOT:


Lein应该已经加载了clojars回购协议。

我的建议是混合了已经提出的内容,但为了完整性和希望给出最终答案,我尝试了一下

由于依赖项不在在线repos中,我会将jar包含在项目的目录结构中,例如,在目录
存储库
中,并将其作为项目的其他文件保存在源代码管理系统中。它是项目的一个重要部分,如果没有依赖关系,它将无法运行

在这个目录中,我将在的帮助下保存jar

当jar文件被复制到本地存储库时,您可以在
project.clj
中定义它和依赖项,如下所示:

(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's wiki中的文档。

我能让它工作的唯一方法是使用jeromq

[org.zeromq/jeromq "0.3.2"]

Jeromq是本机Java。

仍然找不到工件org.zeromq:jzmq:jar:2.1.0(在central()中)找不到工件org.zeromq:jzmq:jar:2.1.0(在clojars()中)尽管我在.m2中看到了它,谢谢,我最终还是找到了它。重要的事情似乎是使用jvmopts将/usr/bin/lib添加到java.library.path
$ 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"]
[org.zeromq/jeromq "0.3.2"]