未解决sbt-android 0.7.1-SNAPSHOT与sbt 0.13和Scala 2.10的依赖关系?

时间:2013-11-23 14:11:42

标签: android scala sbt sbt-android-plugin

我正在Scala中开发一个类似Hello World的Android应用程序。

我在SBT-Android文档中跟踪了the Getting Started tutorial,并尝试应用Scala on Android一书中的建议。一个人从头做一切,另一个做g8 Geal/android-app

在这两种情况下,我都面临同样的错误:

[warn]  module not found: org.scala-sbt#sbt-android;0.7.1-SNAPSHOT
[warn] ==== typesafe-ivy-releases: tried
[warn]   http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-android/scala_2.10/sbt_0.13/0.7.1-SNAPSHOT/ivys/ivy.xml
[warn] ==== sbt-plugin-releases: tried
[warn]   http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/org.scala-sbt/sbt-android/scala_2.10/sbt_0.13/0.7.1-SNAPSHOT/ivys/ivy.xml
[warn] ==== local: tried
[warn]   /Users/jcarres/.ivy2/local/org.scala-sbt/sbt-android/scala_2.10/sbt_0.13/0.7.1-SNAPSHOT/ivys/ivy.xml
[warn] ==== sbt-releases-repo: tried
[warn]   http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-android/scala_2.10/sbt_0.13/0.7.1-SNAPSHOT/ivys/ivy.xml
[warn] ==== sbt-plugins-repo: tried
[warn]   http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/org.scala-sbt/sbt-android/scala_2.10/sbt_0.13/0.7.1-SNAPSHOT/ivys/ivy.xml
[warn] ==== maven-central: tried
[warn]   http://repo1.maven.org/maven2/org/scala-sbt/sbt-android_2.10_0.13/0.7.1-SNAPSHOT/sbt-android-0.7.1-SNAPSHOT.pom
[warn] ==== scalasbt releases: tried
[warn]   http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases/org.scala-sbt/sbt-android/scala_2.10/sbt_0.13/0.7.1-SNAPSHOT/ivys/ivy.xml
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.scala-sbt#sbt-android;0.7.1-SNAPSHOT: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::

我已经尝试了几个版本的sbt-android,似乎问题是我的Scala和sbt版本不匹配。

当我访问http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases/org.scala-sbt/sbt-android时,我只能看到scala_2.9.2目录,而我的Scala版本为2.10。我的sbt版本为0.13,而它似乎应为0.12

我是否需要删除Scala 2.10并安装Scala 2.9.2和/或将sbt降级为0.12?有解决方案吗?

1 个答案:

答案 0 :(得分:6)

sbt使用自己下载的Scala副本 - 它会自动下载“正确”版本 - 因此无需使用自己安装的Scala副本。

因为这是一个sbt插件,您需要在sbt中将project/build.properties版本更改为预期的版本(如果此文件不存在,您可以创建它,具有以下内容):

sbt.version=0.12.0

确保reload sbt,以便加载新的(旧)版本的sbt。

或者,当然,您可以尝试从sbt sbt-android-plugin的源代码编译0.13,执行相反的操作(您可能需要构建和publish-local某些依赖项) 。它可能会奏效。