2011-12-28 103 views
7

我正在用sbt 0.11.2和sbt-idea创建Scala项目,我在gen-idea任务中获得UNRESOLVED DEPENDENCIES什么是sbt 0.11的sbt-idea的正确设置?

我刚刚安装了sbt(根据wiki中的指示下载了jar并创建了脚本),然后执行sbt-idea setup here,为我的项目创建了一个空目录,然后运行sbt,然后运行gen-idea任务。

它找不到依赖关系,因为它只使用内置回购。我如何告诉sbt检查另一个回购?


当我放置build.sbt文件中的plugins目录并运行SBT它开始解决的事情,其中​​之一就是Resolving com.github.mpeltonen#sbt-idea;0.11.0 ...

在后面的过程中它成功地下载它:

[info] downloading http://mpeltonen.github.com/maven/com/github/mpeltonen/sbt-idea_2.9.1_0.11.2/0.11.0/sbt-idea-0.11.0.jar ... 
[info] [SUCCESSFUL ] com.github.mpeltonen#sbt-idea;0.11.0!sbt-idea.jar (592ms) 

当我运行gen-idea任务时,首先看起来不错...

> gen-idea 
[info] Trying to create an Idea module default-b91f2c 

它继续创建.idea目录等,这似乎创建得很好。然后,它开始再次解决的事情(Scala的工具,SBT,commens- *等)

最终尝试解析sbt-idea

[warn] module not found: com.github.mpeltonen#sbt-idea;0.11.0 
[warn] ==== local: tried 
[warn] /home/scaladev/.ivy2/local/com.github.mpeltonen/sbt-idea/scala_2.9.1/sbt_0.11.2/0.11.0/ivys/ivy.xml 
[warn] ==== typesafe-ivy-releases: tried 
[warn] http://repo.typesafe.com/typesafe/ivy-releases/com.github.mpeltonen/sbt-idea/0.11.0/ivys/ivy.xml 
[warn] ==== public: tried 
[warn] http://repo1.maven.org/maven2/com/github/mpeltonen/sbt-idea_2.9.1_0.11.2/0.11.0/sbt-idea-0.11.0.pom 
[warn] ==== Scala-Tools Maven2 Repository: tried 
[warn] http://scala-tools.org/repo-releases/com/github/mpeltonen/sbt-idea_2.9.1_0.11.2/0.11.0/sbt-idea-0.11.0.pom 
[warn] ==== Scala-Tools Maven2 Snapshots Repository: tried 
[warn] http://scala-tools.org/repo-snapshots/com/github/mpeltonen/sbt-idea_2.9.1_0.11.2/0.11.0/sbt-idea-0.11.0.pom 
[info] Resolving commons-io#commons-io;2.0.1 ... 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] ::   UNRESOLVED DEPENDENCIES   :: 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] :: com.github.mpeltonen#sbt-idea;0.11.0: not found 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] 
[warn] Note: Some unresolved dependencies have extra attributes. Check that these dependencies exist with the requested attributes. 
[warn]  com.github.mpeltonen:sbt-idea:0.11.0 (sbtVersion=0.11.2, scalaVersion=2.9.1) 
[warn] 

我的理解,它不会在这些地方找到它,但我不明白为什么它没有尝试github repo,就像配置插件时一样。我期待看到一行看起来像这样:

[warn] ==== sbt-idea-repo: tried 

回答

3

为SBT 0.11.2 GEN-想法插件尚未公布,但预期0.11.1-快照版本应该工作:

resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/" 

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "0.11.1-SNAPSHOT") 
+0

我试过使用sbt 0.11.1和sbt-idea 0.11.1-SNAPSHOT,我得到了相同的结果。错误与上述相同,只是当然版本号不同。当它解决sbt-idea它不检查github repo,它实际上居住的唯一的地方时,问题仍然看起来到最后。 – 2011-12-31 14:37:19

+0

@JackDreep看起来很奇怪,因为它适合我。有时当我无法访问互联网时,我遇到了这种错误,但似乎并非如此。您可以添加使用sbt 0.11.1和sbt-idea 0.11.1-SNAPSHOT时获得的跟踪吗? – David 2011-12-31 14:50:21

+0

我很乐意添加追踪,但我不确定你的意思。你只是指我对原始帖子所做的修改,还是更多? – 2012-01-01 21:55:19

2

这在SBT-想法README文件here记录。具体做法是:

添加以下行到〜/名.bst /插件/ build.sbt或PROJECT_DIR /项目/ plugins.sbt

resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/" 

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "0.11.0") 

注意:如果您遇到SBT 0.11安装的问题, see this

+0

我已经试过了,得到了相同的错误。我提供的stackoverflow链接实际上说做类似的,但把这些相同的行在〜/ .sbt/plugins.sbt。那也行不通。 当我编辑build.sbt文件并启动sbt时,它正确地加载了一些东西(包括来自github repo的东西),但是当我运行该gen-idea任务时,出现依赖关系问题,它不检查回购。我觉得我错过了另一个地方注册回购协议。 – 2011-12-28 22:25:51

+1

我刚刚在这里尝试过,它对我来说非常完美。你得到了什么确切的错误信息? – 2011-12-29 01:03:53

+0

谢谢你和我一起看这个保罗。我已经用过程中的细节更新了原始帖子。 – 2011-12-31 14:27:15

相关问题