既然決定要在Scala上下功夫,那就要下的徹底。我們入鄉隨俗,學一下SBT。sbt使用ivy作為庫管理工具。ivy默認把library repository建在user home下面。
安裝SBT
在SBT的官網(http://www.scala-sbt.org/)下載相應版本的SBT。
Windows環境下建議配置SBT的環境變量。(windows上搞開發真是越發蛋疼。)具體步驟不說了,就是把sbt/bin目錄配置進PATH。
在sbt/bin下有個sbt.bat,查看該bat文件。可以了解到該文件依賴於conf/sbtconfig.txt。
在conf/sbtconfig.txt中添加:
-Dfile.encoding=UTF8 -Dsbt.boot.directory=d:/sbt-repository/boot/ -Dsbt.ivy.home=d:/sbt-repository/
說明:
-Dsbt.boot.directory
-Dsbt.ivy.home 
        這兩個是配置sbt.boot目錄和ivy.home目錄,用於緩存的jar包等信息存放位置。默認情況下jar包等信息存放於user home目錄。
另外運行sbt的一下JVM參數也可以在sbtconfig.txt中指定。
SBT命令行環境
在命令行中進入工程目錄,輸入sbt,進入sbt的命令行。(這里建議進入工程目錄再運行sbt命令。)
注意:第一次使用sbt命令,程序會去下載所需要的jar包。整個過程需要很長時間,要耐心等待。當窗口中出現">"提示符,則說明sbt已經成功啟動。下載完成后,顯示如下圖:
sbt命令
幫助命令 help
查看命令的詳細幫助文檔
顯示項目配置 show
show name :查看當前項目的名字。
show libraryDependencies :查看當前項目依賴的庫。
使用Scala控制台 console
輸入console回車,會在當前會話內啟動一個REPL。sbt會加載當前項目依賴的全部jar包和當前的代碼。即可以在這個解釋器里實驗你的半成品。
因為依賴的jar包也都被加載了,所以對於那些你可能還不熟悉的第三方庫,你有可以在console里玩個痛快!
運行Scala程序 run
若項目有個對象帶有方法(或者對象繼承了 App 品質(trait)),那么可以通過輸入 run 在 sbt 中運行代碼。
在 sbt 發現有多個 main 方法時,它會詢問你想執行哪一個。
使用SBT構建項目
在項目目錄下創建project目錄。
hello-sbt是項目目錄。project是其子目錄。
在project目錄中創建build.properties文件。在文件中寫入使用sbt的版本。若本機沒有相應的版本,sbt會自動下載需要的版本。(本機使用當前最新sbt版本0.13.9)
在項目目錄下,創建build.sbt,填入相應的項目配置
接着在命令行中,進入當前工程,使用sbt命令,當看見尖括號提示符,即表示創建成功。(注:第一次使用sbt需要等待很長時間去下載相應文件。)
將sbt項目導入到Eclipse
在eclipse中使用sbt相應的配置文件,需要安裝sbteclipse插件,sbteclipse插件會依據sbt的配置生成eclipse項目需要的文件。
sbteclipse官方地址是 https://github.com/typesafehub/sbteclipse 其中有安裝說明。
在工程目錄的project目錄下創建plugins.sbt,其中添加插件內容。
執行reload命令
接着直接執行eclipse命令,即可生成eclipse項目文件。
在eclipse中導入工程即可:
如果沒有創建src目錄,手動創建如下目錄,然后在重新運行eclipse命令即可。
src/main/scala
src/main/java
src/main/resources
src/test/scala
src/test/scala
src/test/resources
項目導入到Eclipse中顯示如下:
若發現src目錄下沒有resources可以嘗試手動創建,也可以在build.sbt中添加如下配置。
EclipseKeys.createSrc := EclipseCreateSrc.Default + EclipseCreateSrc.Resource
總之很簡單。
SBT與Scala程序
編寫HelloSBT程序。
在src/main/scala中寫入HelloSBT程序,生成的eclipse項目如下:
使用sbt編譯程序
在sbt命令行下輸入compile
使用sbt運行程序
在sbt命令行下輸入run
將sbt項目導入到Inetllj IDEA
工程導入Inetllj IDEA,需要選擇build.sbt文件,而不是項目文件。Inetllj IDEA會顯示對話框。
注意有一些高級選項,可以設置一下。
SBT官網有中文版的文檔:http://www.scala-sbt.org/0.13/tutorial/zh-cn/index.html
--------------------------------------更多內容待寫--------------------------------------------



















