leiningen:缺少super-pom [英] leiningen: missing super-pom

查看:273
本文介绍了leiningen:缺少super-pom的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我启用eith clojure-couchdb或swank-clojure然后 lein deps 失败,因为org.apache.maven:super-pom:jar:2.0缺少



if I enable eith the clojure-couchdb or swank-clojure then lein deps fails because org.apache.maven:super-pom:jar:2.0 is missing

: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)

什么是super-pom。为什么这些包需要它,在哪里可以得到它。

what is super-pom. why do these packages need it and where can I get it.

推荐答案

我认为这只是意味着Maven不能满足您指定的依赖性。我已经检查在您的消息提到的三个存储库的任何中没有 org.clojure / swank-clojure artifact。对于clojure-couchdb,你使用的版本 - 就我可以从看到在GitHub上的project.clj文件 - 取决于 org.clojure / clojure-http-client1.0.0-SNAPSHOT,它不存在于repos中。

I think this just means that Maven wasn't able to satisfy the dependencies you specified. I've checked there's no org.clojure/swank-clojure artifact in any of the three repositories your message mentions. For clojure-couchdb, the version you're using -- as far as I can tell from looking at its project.clj file on GitHub -- depends on org.clojure/clojure-http-client "1.0.0-SNAPSHOT", which doesn't exist in the repos either.

这个问题的一个方法是将你想要的jars安装到你的本地仓库。 (我似乎不记得确切的命令...会在一分钟后查找。参见例如这个页面的说明。)然后Maven会从那里接收它们。

One way around this problem is to install the jars you want into your local repo. (I can't seem to remember the exact command... will look it up in a minute. See e.g. this page for instructions.) Then Maven will just pick them up from there.

(BTW,如果你想使用Clojure + contrib 1.1.0,你可以使用1.1.0作为版本字符串。这两个 org.clojure / clojure org.clojure / clojure-contrib 。)

(BTW, if you want to use Clojure + contrib 1.1.0, you can just use "1.1.0" as the version strings now. That's for both org.clojure/clojure and org.clojure/clojure-contrib.)

哦,关于超级POM - 来自 Maven文档中的此页面

Oh, and about the super POM -- from this page in Maven's docs:


Super POM是Maven的默认POM。除非明确设置,否则所有POM扩展超级POM,这意味着您为项目创建的POM继承了超级POM中指定的配置。

The Super POM is Maven's default POM. All POMs extend the Super POM unless explicitly set, meaning the configuration specified in the Super POM is inherited by the POMs you created for your projects.

至于它如何得到你的错误信息,我真的不知道。你可以添加maven标签到这个问题,或者只是问一个单独的问题与该标签,以获得一些Maven大师上。

As for how it got into your error message, I've honestly no idea. You could add the "maven" tag to this question or just ask a separate question with that tag to get some Maven gurus onto it.

这篇关于leiningen:缺少super-pom的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆