将 SBT 更新到 0.13.0:
我有几个使用 Scala 2.10.2 编写并使用 sbt 0.12.4 构建的项目。由于我的操作系统是 Ubuntu,我使用 SBT.deb 包安装 sbt 0.12.4。一切都很好。我用 sbt 构建了我的项目。
昨天我想将 sbt 更新到 0.13.0 版本。我下载并安装了新的 .deb 包。项目配置未更改。
失败:
更新后运行 SBT 时出现此故障:
$ sbt
Loading /usr/share/sbt/bin/sbt-launch-lib.bash
Getting org.scala-sbt sbt 0.13.0 ...
:: problems summary ::
:::: WARNINGS
module not found: org.scala-sbt#sbt;0.13.0
==== local: tried
/home/myUser/.ivy2/local/org.scala-sbt/sbt/0.13.0/ivys/ivy.xml
::::::::::::::::::::::::::::::::::::::::::::::
:: UNRESOLVED DEPENDENCIES ::
::::::::::::::::::::::::::::::::::::::::::::::
:: org.scala-sbt#sbt;0.13.0: not found
::::::::::::::::::::::::::::::::::::::::::::::
:: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS
unresolved dependency: org.scala-sbt#sbt;0.13.0: not found
Error during sbt execution: Error retrieving required libraries
(see /home/myUser/.sbt/boot/update.log for complete log)
Error: Could not retrieve sbt 0.13.0
该~/.sbt/update.log
文件可在此处获得:http://ubuntuone.com/6RDMgOqMnxdyKgfzrWVUNP
该~/.sbt/boot/.update.log
文件可在此处获得: http: //ubuntuone.com/4KqYnSL9Mc1yrmRLbCx6bI
如何解决此依赖关系解析?
嫌疑人:
其他人也有类似的问题,但不一样。我不认为这是构建定义不兼容的问题,是吗?据我所见,SBT 并没有达到阅读项目定义的目的。
应该从哪里检索此文件?不应该包含在SBT安装包中吗?此外,看起来 SBT / Ivy 只在本地 Ivy 存储库中查看。Maven 中央存储库中没有版本 0.13.0 的 SBT 工件。我是否必须指定另一个回购或其他东西?
那么 Scala 版本呢?不应该在依赖定义中指定吗?我必须在某处指定 Scala 版本吗?
项目配置:
文件build.sbt
::
name := "MyProject"
version := "1.0-SNAPSHOT"
organization := "myOrg"
scalaVersion := "2.10.2"
libraryDependencies += "com.github.nscala-time" %% "nscala-time" % "0.4.2"
文件project/plugins.sbt
::
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.3.0")
文件:project/build.properties
在这个问题之前,我没有这个文件。我添加它试图解决这个问题:
sbt.version=0.13.0