3
votes

I'm trying to get lein up and running. But for some reason I'm having tons of issues. I'm performing this on Windows 7. I downloaded lein and did the following:

lein self-install

this ran correctly

Then I created a project via

lein new helloworld

Then I got deps via

lein deps

and I get this:

Downloading: org/clojure/clojure/1.2.0/clojure-1.2.0.pom from central
Downloading: org/clojure/clojure/1.2.0/clojure-1.2.0.pom from clojure
Downloading: org/clojure/clojure/1.2.0/clojure-1.2.0.pom from clojure-snapshots
Downloading: org/clojure/clojure/1.2.0/clojure-1.2.0.pom from clojars
Downloading: org/clojure/clojure/1.2.0/clojure-1.2.0.pom from central
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.pom from central
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.pom from clojure
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.pom from clojure-snapshots
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.pom from clojars
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.pom from central
Downloading: org/clojure/clojure/1.2.0/clojure-1.2.0.jar from central
Downloading: org/clojure/clojure/1.2.0/clojure-1.2.0.jar from clojure
Downloading: org/clojure/clojure/1.2.0/clojure-1.2.0.jar from clojure-snapshots
Downloading: org/clojure/clojure/1.2.0/clojure-1.2.0.jar from clojars
Downloading: org/clojure/clojure/1.2.0/clojure-1.2.0.jar from central
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.jar from central
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.jar from clojure
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.jar from clojure-snapshots
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.jar from clojars
Downloading: org/clojure/clojure-contrib/1.2.0/clojure-contrib-1.2.0.jar from central
Exception in thread "main" Unable to resolve artifact: Missing:
----------
1) org.clojure:clojure:jar:1.2.0

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=org.clojure -DartifactId=clojure -Dversion=1.2.0 -Dpackaging=jar -Dfile=/path/t
o/file

  Alternatively, if you host your own repository you can deploy the file there:
      mvn deploy:deploy-file -DgroupId=org.clojure -DartifactId=clojure -Dversion=1.2.0 -Dpackaging=jar -Dfile=/path/to/
file -Durl=[url] -DrepositoryId=[id]

  Path to dependency:
        1) org.apache.maven:super-pom:jar:2.0
        2) org.clojure:clojure:jar:1.2.0

2) org.clojure:clojure-contrib:jar:1.2.0

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=org.clojure -DartifactId=clojure-contrib -Dversion=1.2.0 -Dpackaging=jar -Dfile
=/path/to/file

  Alternatively, if you host your own repository you can deploy the file there:
      mvn deploy:deploy-file -DgroupId=org.clojure -DartifactId=clojure-contrib -Dversion=1.2.0 -Dpackaging=jar -Dfile=/
path/to/file -Durl=[url] -DrepositoryId=[id]

  Path to dependency:
        1) org.apache.maven:super-pom:jar:2.0
        2) org.clojure:clojure-contrib:jar:1.2.0

----------
2 required artifacts are missing.

for artifact:
  org.apache.maven:super-pom:jar:2.0

from the specified remote repositories:
  clojure (http://build.clojure.org/releases),
  clojars (http://clojars.org/repo/),
  clojure-snapshots (http://build.clojure.org/snapshots),
  central (http://repo1.maven.org/maven2)

 (NO_SOURCE_FILE:0)
        at clojure.lang.Compiler.eval(Compiler.java:5440)
        at clojure.lang.Compiler.eval(Compiler.java:5391)
        at clojure.core$eval.invoke(core.clj:2382)
        at clojure.main$eval_opt.invoke(main.clj:235)
        at clojure.main$initialize.invoke(main.clj:254)
        at clojure.main$script_opt.invoke(main.clj:270)
        at clojure.main$main.doInvoke(main.clj:354)
        at clojure.lang.RestFn.invoke(RestFn.java:458)
        at clojure.lang.Var.invoke(Var.java:377)
        at clojure.lang.AFn.applyToHelper(AFn.java:174)
        at clojure.lang.Var.applyTo(Var.java:482)
        at clojure.main.main(main.java:37)
Caused by: Unable to resolve artifact: Missing:
----------
1) org.clojure:clojure:jar:1.2.0

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=org.clojure -DartifactId=clojure -Dversion=1.2.0 -Dpackaging=jar -Dfile=/path/t
o/file

  Alternatively, if you host your own repository you can deploy the file there:
      mvn deploy:deploy-file -DgroupId=org.clojure -DartifactId=clojure -Dversion=1.2.0 -Dpackaging=jar -Dfile=/path/to/
file -Durl=[url] -DrepositoryId=[id]

  Path to dependency:
        1) org.apache.maven:super-pom:jar:2.0
        2) org.clojure:clojure:jar:1.2.0

2) org.clojure:clojure-contrib:jar:1.2.0

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=org.clojure -DartifactId=clojure-contrib -Dversion=1.2.0 -Dpackaging=jar -Dfile
=/path/to/file

  Alternatively, if you host your own repository you can deploy the file there:
      mvn deploy:deploy-file -DgroupId=org.clojure -DartifactId=clojure-contrib -Dversion=1.2.0 -Dpackaging=jar -Dfile=/
path/to/file -Durl=[url] -DrepositoryId=[id]

  Path to dependency:
        1) org.apache.maven:super-pom:jar:2.0
        2) org.clojure:clojure-contrib:jar:1.2.0

----------
2 required artifacts are missing.

for artifact:
  org.apache.maven:super-pom:jar:2.0

from the specified remote repositories:
  clojure (http://build.clojure.org/releases),
  clojars (http://clojars.org/repo/),
  clojure-snapshots (http://build.clojure.org/snapshots),
  central (http://repo1.maven.org/maven2)


        at org.apache.maven.artifact.ant.DependenciesTask.doExecute(DependenciesTask.java:175)
        at org.apache.maven.artifact.ant.AbstractArtifactTask.execute(AbstractArtifactTask.java:678)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:90)
        at clojure.lang.Reflector.invokeNoArgInstanceMember(Reflector.java:265)
        at leiningen.deps$deps.invoke(deps.clj:79)
        at leiningen.deps$deps.invoke(deps.clj:90)
        at leiningen.deps$deps.invoke(deps.clj:91)
        at clojure.lang.Var.invoke(Var.java:365)
        at clojure.lang.AFn.applyToHelper(AFn.java:163)
        at clojure.lang.Var.applyTo(Var.java:482)
        at clojure.core$apply.invoke(core.clj:542)
        at leiningen.core$apply_task.invoke(core.clj:191)
        at leiningen.core$_main.doInvoke(core.clj:250)
        at clojure.lang.RestFn.applyTo(RestFn.java:138)
        at clojure.core$apply.invoke(core.clj:542)
        at leiningen.core$_main.invoke(core.clj:255)
        at user$eval175.invoke(NO_SOURCE_FILE:1)
        at clojure.lang.Compiler.eval(Compiler.java:5424)
        ... 11 more
Caused by: org.apache.maven.artifact.resolver.MultipleArtifactsNotFoundException: Missing:
----------
1) org.clojure:clojure:jar:1.2.0

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=org.clojure -DartifactId=clojure -Dversion=1.2.0 -Dpackaging=jar -Dfile=/path/t
o/file

  Alternatively, if you host your own repository you can deploy the file there:
      mvn deploy:deploy-file -DgroupId=org.clojure -DartifactId=clojure -Dversion=1.2.0 -Dpackaging=jar -Dfile=/path/to/
file -Durl=[url] -DrepositoryId=[id]

  Path to dependency:
        1) org.apache.maven:super-pom:jar:2.0
        2) org.clojure:clojure:jar:1.2.0

2) org.clojure:clojure-contrib:jar:1.2.0

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=org.clojure -DartifactId=clojure-contrib -Dversion=1.2.0 -Dpackaging=jar -Dfile
=/path/to/file

  Alternatively, if you host your own repository you can deploy the file there:
      mvn deploy:deploy-file -DgroupId=org.clojure -DartifactId=clojure-contrib -Dversion=1.2.0 -Dpackaging=jar -Dfile=/
path/to/file -Durl=[url] -DrepositoryId=[id]

  Path to dependency:
        1) org.apache.maven:super-pom:jar:2.0
        2) org.clojure:clojure-contrib:jar:1.2.0

----------
2 required artifacts are missing.

for artifact:
  org.apache.maven:super-pom:jar:2.0

from the specified remote repositories:
  clojure (http://build.clojure.org/releases),
  clojars (http://clojars.org/repo/),
  clojure-snapshots (http://build.clojure.org/snapshots),
  central (http://repo1.maven.org/maven2)


        at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolveTransitively(DefaultArtifactResolver.java:3
24)
        at org.apache.maven.artifact.ant.DependenciesTask.doExecute(DependenciesTask.java:170)
        ... 32 more
PS C:\clojureprj\helloworld> lein deps 2> out.txt
An error has occurred while processing the Maven artifact tasks.
 Diagnosis:

Unable to resolve artifact: Missing:
----------
1) org.clojure:clojure:jar:1.2.0

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=org.clojure -DartifactId=clojure -Dversion=1.2.0 -Dpackaging=jar -Dfile=/path/t
o/file

  Alternatively, if you host your own repository you can deploy the file there:
      mvn deploy:deploy-file -DgroupId=org.clojure -DartifactId=clojure -Dversion=1.2.0 -Dpackaging=jar -Dfile=/path/to/
file -Durl=[url] -DrepositoryId=[id]

  Path to dependency:
        1) org.apache.maven:super-pom:jar:2.0
        2) org.clojure:clojure:jar:1.2.0

2) org.clojure:clojure-contrib:jar:1.2.0

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=org.clojure -DartifactId=clojure-contrib -Dversion=1.2.0 -Dpackaging=jar -Dfile
=/path/to/file

  Alternatively, if you host your own repository you can deploy the file there:
      mvn deploy:deploy-file -DgroupId=org.clojure -DartifactId=clojure-contrib -Dversion=1.2.0 -Dpackaging=jar -Dfile=/
path/to/file -Durl=[url] -DrepositoryId=[id]

  Path to dependency:
        1) org.apache.maven:super-pom:jar:2.0
        2) org.clojure:clojure-contrib:jar:1.2.0

----------
2 required artifacts are missing.

for artifact:
  org.apache.maven:super-pom:jar:2.0

from the specified remote repositories:
  clojure (http://build.clojure.org/releases),
  clojars (http://clojars.org/repo/),
  clojure-snapshots (http://build.clojure.org/snapshots),
  central (http://repo1.maven.org/maven2)




PS C:\clojureprj\helloworld>

What am I doing wrong? Can lein really not find Clojure? I'm sure I'm missing something here.

---- Edit -----

Here's the project.clj I'm using:

(defproject helloworld "1.0.0-SNAPSHOT"
  :description "FIXME: write"
  :dependencies [[org.clojure/clojure "1.2.0"]
                 [org.clojure/clojure-contrib "1.2.0"]])
3
could you include the project.clj that was generated by lein new. this will help a lot - Arthur Ulfeldt
updated to show the project.clj - Timothy Baldridge
i tested your project.clj with todays leiningen and it works. must be one of the more interesting maven problems. - Arthur Ulfeldt
could you run lein pom and post the generated pom.xml. this will list the repos it is trying to use. - Arthur Ulfeldt

3 Answers

3
votes

Gota love Maven error messages ;)

this is maven speak for "failed to download the version you asked for"...

this can be caused by:

  • specifying a version of a dependency that does not exist in project.clj (unlikely since you just auto-generated it)
  • broken dependencies by a package maintainer.
  • bugs in leiningen (rare these days).
  • garbage left over in your maven cache (try deleting it, sorry i don't know where it lives in windows)
  • manually specified maven repositories other than the standard central ones globally (rare)

try downloading the latest version of lein, deleting your maven cache, running it again and then complaining on the leiningen mailing list.

0
votes

As clojure jar is actually available in one of the specified repositories, it might be the case that network is not properly configured. If you're behind a proxy, configure maven properly and retry.

0
votes

I had the same error message - what was broken for me was I specified the wrong jar dependency (copied from another source). You can view available artefacts here:

http://search.maven.org/#search%7Cga%7C1%7Cclojure

I hope this helps someone