2014-11-06 63 views
21

我正在閱讀Peter Hilton(出版商:Manning)的Play for Scala: Covers Play 2書,並試圖堅持他們在本書中概述的版本(Play 2.1.1版) 。Sbt 0.12.4+項目導入需要

我下載了新的IntelliJ IDEA 14 CE應用程序並安裝了它。我目前正在導入這個項目,並且它失敗了,因爲它想要一個0.12.4或更高的sbt版本。發生在13

Build failing

這個問題一天,但我還沒有來得及解決它,所以請,不建議再回到13 :)

這裏的肉問題: 當我在CLI上輸入sbt --version時,它會打印sbt launcher version 0.13.6.我有一個「更大」的版本,但看起來IDEA不能識別這個。

爲了指定我自己的SBT啓動程序JAR,我將自定義啓動程序(在IDEA全局設置中)指向/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,但都大於0.13。

非常感謝您的幫助!

回答

36

我查看了曼寧網站的代碼示例,並且每個項目的project/build.properties文件都指定了sbt.version=0.12.2。我的猜測是,Intellij Scala插件僅支持SBT 0.12.4,並且無法導入您配置爲使用較舊版本的項目(因此爲什麼它建議您「更新您的項目定義」)。

您應該嘗試在project/build.properties文件中使用sbt.version=0.12.4

一般來說,請記住,當在project/build.properties中指定SBT版本時,SBT啓動程序會下載指定的版本並使用它來構建項目。就你而言,這意味着SBT 0.13.6啓動器將下載SBT 0.12.2並使用該版本來構建該項目。

+1

謝謝。這爲我解決了這個問題,併爲我澄清了很多。我希望我能夠比以往更快樂。 – 2014-11-07 01:29:43

+1

不客氣!順便說一下,如果您有興趣更好地瞭解SBT,我可以推薦本書「SBT in Action」(目前可作爲Manning Publishing的早期訪問預覽版,尚未完成) - 但有關[the SBT網站](http://www.scala-sbt.org/documentation.html)是一個很好的開始。 – 2014-11-07 12:34:13

+0

謝謝,我認爲我對Scala的失望主要來自缺乏理解,所以這可能會讓我的生活更輕鬆。乾杯,非常感謝您的幫助和建議! – 2014-11-08 23:48:39