我目前正在阅读Peter Hilton(出版商:Manning)的Play for Scala: Covers Play 2
书,并试图坚持他们在书中概述的版本(Play 2.1.1版)。
我下载了新的IntelliJ IDEA 14 CE应用并安装了它。我目前正在导入该项目,但它失败了,因为它想要一个0.12.4或更高版本的sbt。
这个问题在前几天发生在13,但我没有时间解决它,所以请不要再回到13的建议:))
这是问题的关键:
当我在CLI上键入sbt --version
时,它会打印sbt launcher version 0.13.6.
我有一个"更大的"版本,但似乎IDEA没有认识到这一点。
为了指定我自己的SBT启动器JAR,我将自定义启动器(在IDEAs全局设置中)指向/usr/local/Cellar/sbt/0.13.6/libexec/sbt-launch.jar
中的那个,但构建也失败并出现相同的错误。
正如您可能已经猜到的那样,我使用Homebrew来安装和管理Scala和sbt。当我在2月份开始使用Scala时,我记得我必须在我的设置中进行一些小的调整才能让IDEA找到Scala,但我的IDEA 14版本非常新鲜 - 我没有导入任何以前的设置。我下载了Scala和sbt插件,它们在粗略查看并创建新测试项目后似乎已正确配置。
以下是我未能理解的内容: 首先,也是最明显的,为什么满足所谓要求(0.12.4+)的sbt版本会因版本0.13而失败。*?
第二,与IDEA捆绑的sbt是否也大于这个版本?在我的系统中某处可能有一个sbt标志指向早期版本?请注意,我在" Cellar"中有几个版本的sbt,但都大于0.13。
非常感谢你的帮助!
答案 0 :(得分:36)
我查看了Manning网站的代码示例,每个项目的project/build.properties
文件都指定了sbt.version=0.12.2
。我的猜测是Intellij Scala插件只支持SBT 0.12.4,并且无法导入配置为使用旧版本的项目(因此它建议您"更新项目定义")。
您应该尝试在sbt.version=0.12.4
文件中使用project/build.properties
。
一般来说,请记住,当在project/build.properties
中指定SBT版本时,SBT启动程序会下载指定的版本并使用它来构建项目。在您的情况下,这意味着SBT 0.13.6启动器将下载SBT 0.12.2并使用该版本来构建项目。