13

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"]
              ])

this error:

  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)

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

4

6 に答える 6

7

これは、Maven が指定した依存関係を満たすことができなかったことを意味していると思います。org.clojure/swank-clojureメッセージに記載されている 3 つのリポジトリのいずれにもアーティファクトがないことを確認しました。clojure-couchdb の場合、使用しているバージョン(GitHub の project.clj ファイルをorg.clojure/clojure-http-client "1.0.0-SNAPSHOT"見る限り) は、リポジトリにも存在しない に依存しています。

この問題を回避する 1 つの方法は、必要な jar をローカル リポジトリにインストールすることです。(正確なコマンドを思い出せないようです...すぐに調べます。手順については、このページなどを参照してください。)その後、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 達人をそれに参加させることができます。

于 2010-03-14T22:36:01.437 に答える
2

プロジェクトの依存関係が壊れていることは、今でもよくあることだと思います。それは本当に経験を損なうので、残念です。

私の解決策は、http://clojars.orgにアクセスして、必要なライブラリを検索することです。通常、いくつかのバージョンがあります。http://github.comで少し調べて、最新のものを確認します。次に、それを依存関係として試します。それが機能する場合、素晴らしいです!それ以外の場合は、別のものを試します。

長いプロセスですが、良くなっていると思います。あなたは前にプロセスを見たはずです!

于 2010-03-23T14:40:04.640 に答える
1

1 年ほど前に、誤って swank-clojure を org.clojure グループにアップロードしてしまいました。私はそのグループに関連付けられていないため、すぐに削除したため、見つかりません。修正できるように、誤ったバージョンの指示をどこで見つけたのか尋ねてもよろしいですか?

于 2010-09-17T02:24:18.837 に答える
1

Maven super-pom 依存関係で同じエラーが発生します。

$ sudo lein deps

エラーなく実行されます。理想的な解決策ではありませんが、私にとってはうまくいきます。

于 2010-09-16T04:07:50.453 に答える
0

lein-ring に関して同様の問題が発生し、依存関係の障害が発生しましたorg.apache.maven:super-pom。問題は、M2_HOME私が仕事に使用する Maven のバージョンに設定されていたことが判明しました。設定を解除M2_HOMEすると問題が修正されました。leiningen は、奇妙な Maven 実装ではうまく機能しないようです。

于 2011-02-10T07:22:40.743 に答える