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.
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.
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, 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
.)
Oh, and about the super POM -- from this page in Maven's docs:
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.
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.
I think it's still common that projects have broken dependencies. It's unfortunate, because it really mars the experience.
My solution is to go onto http://clojars.org and search for the library I need. Usually there are a few versions. I do a little research on http://github.com to see which one is most up to date. Then I try that one as a dependency. If it works, great! Otherwise, I try another one.
It's a long process, but I think it is getting better. You should have seen the process before!
I'm getting the same error on the maven super-pom dependency, and when I do
$ sudo lein deps
It runs without error. Not an ideal solution, but it works for me.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With