尝试为 Windows 7 安装 SBT-0.13.8 安装 SBT 版本 0.12.4

Trying to install SBT-0.13.8 for Windows 7 installs SBT version 0.12.4

我(多次)尝试通过 SBT-0.13.8-MSI 按钮从 the SBT download page 安装 SBT-0.13.8,我总是得到一个显示以下输出的 SBT 版本

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
[info] Loading project definition from C:\Users\Tina\Desktop\example\project\project
error: error while loading CharSequence, class file 'C:\Program Files\Java\jre1.
8.0_20\lib\rt.jar(java/lang/CharSequence.class)' is broken (bad constant pool tag 15 at byte 1470)
[error] Type error in expression
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? i
[warn] Ignoring load failure: no project loaded.
> about
[info] This is sbt 0.12.4
[info] No project is currently loaded
[info] sbt, sbt plugins, and build definitions are using Scala 2.9.2

SBT 生成一条错误消息,并且 (!) 显示为版本 0.12.4。!!!

我确实确定我没有安装其他版本的 SBT,我什至在重新安装之前重新启动,但没有任何改变。 SBT 文件的创建日期为 2015 年 3 月 21 日。这似乎是最新版本,但为什么此版本显示为 0.12.4 且不适用于 JDK1.8?

看起来你所在的目录是错误的,你想从C:\Users\Tina\Desktop\example\project启动sbt 不是 C:\Users\Tina\Desktop\example\project\project(注1 project 少).

你遇到的第二个问题是你试图将 sbt 0.12.4 与 Java 8 一起使用。sbt 0.12.4 使用(从输出中可以看出)Scala 2.9.2不适用于 Java 8。我建议迁移到 sbt 0.13.8,但如果不行,你可以随时降级到 Java 7.


在下方评论后编辑

progfun Coursera课程下载仍然配置为sbt 0.12.4 你在构建时遇到了问题,因为你正在使用 Java 8.

我快速尝试将项目升级到 0.13.8 是否可行(仅供参考,它涉及编辑 project/build.properties),但随后需要升级插件,然后需要元构建代码由于名称空间更改而更改..

除非你愿意尝试更多并努力完成使用最新 sbt 和最新 Java 所需的各种更改(如果这是我自己的话,我会这样做),我会推荐作为替代:

  1. 降级到Java7

  2. 通知参与 运行 课程的相关人员应该更新源 material,因为它显然不适用于最新的稳定 Java。


如果你的默认 Java 是 Java 8 但你想切换到 Java 7 这个过时的项目设置,你需要创建一个 .sbtopts 项目根目录下的文件包含(注意:在不同的行上!):

-java-home
C:\Users\Tina\PATH\TO\YOUR\JAVA\HOME