题
如果启用eith Clojure的-CouchDB的或自吹-的Clojure然后lein deps
失败,因为org.apache.maven:超POM:罐:2.0丢失
:dependencies [[org.clojure/clojure "1.1.0-master-SNAPSHOT"]
[org.clojure/clojure-contrib "1.0-SNAPSHOT"]
[clojure-http-client "1.0.0-SNAPSHOT"]
[org.apache.activemq/activemq-core "5.3.0"]
; [org.clojars.the-kenny/clojure-couchdb "0.1.3"]
; [org.clojure/swank-clojure "1.1.0"]
])
此错误:
Path to dependency:
1) org.apache.maven:super-pom:jar:2.0
2) org.clojure:swank-clojure:jar:1.1.0
----------
1 required artifact is missing.
for artifact:
org.apache.maven:super-pom:jar:2.0
from the specified remote repositories:
clojars (http://clojars.org/repo/),
clojure-snapshots (http://build.clojure.org/snapshots),
central (http://repo1.maven.org/maven2)
什么是超聚甲醛。为什么这些包需要它,我在哪里可以得到它。
解决方案
我想这只是意味着Maven的是不能满足您指定的依赖关系。我检查有任何的三个不同版本库的消息中提到的没有org.clojure/swank-clojure
神器。对于Clojure中,CouchDB的,你正在使用的版本 - 据我可以看的 GitHub上其project.clj文件 - 取决于org.clojure/clojure-http-client "1.0.0-SNAPSHOT"
,这不会在回购存在任一
解决这个问题的办法是你想要的罐安装到本地回购。 (<击>我似乎无法记得确切的命令将看看它在一分钟。击>见如的为说明此页。)然后Maven将刚接他们从那里。
(顺便说一句,如果你想使用Clojure的+的contrib 1.1.0,您可以只使用"1.1.0"
像现在的版本字符串。这对双方org.clojure/clojure
和org.clojure/clojure-contrib
。)
哦,关于超级POM - 从 Maven中的文档此页面:
在超级POM是Maven的默认POM。所有的POM扩展超级POM,除非明确,意在超级POM中指定的配置是您为您的项目创建的POM继承。
至于它是如何钻进你的错误信息,我已经说实话不知道。您可以在“行家”的标签添加到这个问题,或者只问与该标记一个单独的问题得到一些Maven的大师到它。
其他提示
我觉得它仍然是常见的项目已经打破依赖。这是不幸的,因为它确实火星的经验。
我的解决办法是去到 http://clojars.org 和寻找我需要的库。通常有几个版本。我在 http://github.com 一个小小的研究,看看哪一个最最新的。然后,我尝试,作为一个依赖。如果一切正常,太好了!否则,我尝试另一个。
这是一个漫长的过程,但我认为这是越来越好。你应该看到的过程!之前
我得到的Maven的超级POM依赖同样的错误,当我做
$ sudo lein deps
它运行而不会出现错误。不是一个理想的解决方案,但它为我工作。
我不小心上传自吹,Clojure的约一年前org.clojure组。我很快就因为我不与该组关联后删除它,所以这就是为什么它不能被发现。我能问你发现了错误版本的说明,因此它可以被纠正?
我与LEIN环引起依赖性错误关于org.apache.maven:super-pom
类似的问题。原来,问题是,M2_HOME
被设置为一个版本的Maven的我用于工作。解封M2_HOME
固定的问题。看来,leiningen没有发挥好奇怪的Maven的实现。
通过Ubuntu 10.10 x86_64
,与雷音DEPS,我招人烦
...
5米所需的工件已丢失。
有伪影:
org.apache.maven:super-pom:jar:2.0
... 但是命令
sudo LEIN_ROOT=1 ~/bin/lein deps;
sudo chown -R $USER:$USER lib
做的工作。