8

我正在使用 sbt0.11.2和 sbt-idea 创建一个 Scala 项目,我正在UNRESOLVED DEPENDENCIES完成gen-idea任务。

我刚刚安装了 sbt(下载了 jar 并按照 wiki 中的说明制作了脚本),按照此处的 sbt-idea 设置,为我的项目创建了一个空目录,然后运行 ​​sbt 然后运行gen-idea任务。

它找不到依赖项,因为它只使用内置的 repos。我如何告诉 sbt 检查另一个 repo?


当我将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 存储库,就像在配置插件时那样。我期待看到一条看起来像这样的线:

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

2 回答 2

3

sbt 0.11.2 的 gen-idea 插件尚未发布,但 0.11.1-SNAPSHOT 版本应该可以按预期工作:

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

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "0.11.1-SNAPSHOT")
于 2011-12-30T14:34:29.983 回答
2

这记录在此处的 sbt-idea README 文件中。具体来说:

将以下行添加到 ~/.sbt/plugins/build.sbt 或 PROJECT_DIR/project/plugins.sbt

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

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

注意:如果您在安装 sbt 0.11 时遇到问题,请参阅此.

于 2011-12-28T22:09:55.267 回答