Art*_*ldt 13 clojure maven leiningen
如果我启用了clojure-couchdb或swank-clojure,那么lein deps因为org.apache.maven:super-pom:jar: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"]
])
Run Code Online (Sandbox Code Playgroud)
这个错误:
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)
Run Code Online (Sandbox Code Playgroud)
什么是超级pom.为什么这些包需要它,我在哪里可以得到它.
我认为这只意味着Maven无法满足您指定的依赖项.我检查过org.clojure/swank-clojure你的消息提到的三个存储库中没有任何工件.对于clojure-couchdb,您正在使用的版本 - 据我在GitHub上查看它的project.clj文件可以看出- 取决于org.clojure/clojure-http-client "1.0.0-SNAPSHOT",它在repos中也不存在.
解决此问题的一种方法是将您想要的罐子安装到本地仓库中.(我似乎无法记住确切的命令......将在一分钟内查找.请参阅此页面以获取说明.)然后Maven将从那里接收它们.
(顺便说一句,如果你想使用Clojure + contrib 1.1.0,你现在可以"1.1.0"用作版本字符串.这适用于org.clojure/clojure和org.clojure/clojure-contrib.)
哦,关于超级POM - 来自Maven的文档中的这个页面:
Super POM是Maven的默认POM.除非明确设置,否则所有POM都会扩展Super POM,这意味着Super POM中指定的配置将由您为项目创建的POM继承.
至于它如何进入你的错误信息,我真的不知道.你可以在这个问题上加上"maven"标签,或者只是问一个带有该标签的问题,让一些Maven专家加入其中.