Lein deps命令找不到工件

时间:2011-02-19 04:47:23

标签: clojure leiningen

我正试着让莱恩跑起来。但出于某种原因,我遇到了很多问题。我在Windows 7上执行此操作。我下载了lein并执行了以下操作:

lein self-install

这正确运行

然后我通过

创建了一个项目

lein new helloworld

然后我通过

得到了deps

lein deps

我得到了这个:

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>

我做错了什么? lein真的找不到Clojure吗?我确定我在这里遗漏了一些东西。

----编辑-----

这是我正在使用的project.clj:

(defproject helloworld "1.0.0-SNAPSHOT"
  :description "FIXME: write"
  :dependencies [[org.clojure/clojure "1.2.0"]
                 [org.clojure/clojure-contrib "1.2.0"]])

3 个答案:

答案 0 :(得分:3)

Gota love Maven错误消息;)

这是maven说的“未能下载你要求的版本”......

这可能是由以下原因造成的:

  • 指定project.clj中不存在的依赖项版本(不太可能,因为您只是自动生成它)
  • 包维护者破坏了依赖关系。
  • leiningen的虫子(这些天很少见)。
  • 垃圾遗留在你的maven缓存中(尝试删除它,抱歉我不知道它在windows中的位置)
  • 手动指定的maven存储库,而不是全局的标准中央存储库(稀少)

尝试下载最新版本的lein,删除你的maven缓存,再次运行它然后在leiningen邮件列表上抱怨。

答案 1 :(得分:0)

由于clojure jar在其中一个指定的存储库中实际上是available,因此可能是网络配置不正确的情况。如果您在代理服务器后面,请配置maven properly并重试。

答案 2 :(得分:0)

我有相同的错误消息 - 对我来说被破坏的是我指定了错误的jar依赖项(从其他源复制)。您可以在此处查看可用的文物:

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

我希望这有助于某人