使用SBT構建Scala專案

weixin_30387799發表於2016-01-05

既然決定要在Scala上下功夫,那就要下的徹底。我們入鄉隨俗,學一下SBT。sbt使用ivy作為庫管理工具。ivy預設把library repository建在user home下面。

 

安裝SBT

在SBT的官網(http://www.scala-sbt.org/)下載相應版本的SBT。

wpsC448.tmp

Windows環境下建議配置SBT的環境變數。(windows上搞開發真是越發蛋疼。)具體步驟不說了,就是把sbt/bin目錄配置進PATH。

wpsC459.tmp

wpsC469.tmp

在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命令。)

wpsC46A.tmp

注意:第一次使用sbt命令,程式會去下載所需要的jar包。整個過程需要很長時間,要耐心等待。當視窗中出現">"提示符,則說明sbt已經成功啟動。下載完成後,顯示如下圖:

wpsC49A.tmp

 

sbt命令

幫助命令 help

wpsC4AB.tmp

檢視命令的詳細幫助文件

wpsC4AC.tmp

wpsC4BC.tmp

 

顯示專案配置 show

show name :檢視當前專案的名字。

show libraryDependencies :檢視當前專案依賴的庫。

 

使用Scala控制檯 console

輸入console回車,會在當前會話內啟動一個REPL。sbt會載入當前專案依賴的全部jar包和當前的程式碼。即可以在這個直譯器裡實驗你的半成品。

因為依賴的jar包也都被載入了,所以對於那些你可能還不熟悉的第三方庫,你有可以在console裡玩個痛快!

 

執行Scala程式 run

若專案有個物件帶有方法(或者物件繼承了 App 品質(trait)),那麼可以通過輸入 run 在 sbt 中執行程式碼。

在 sbt 發現有多個 main 方法時,它會詢問你想執行哪一個。

 

 

使用SBT構建專案

在專案目錄下建立project目錄。

wpsC4BD.tmp

hello-sbt是專案目錄。project是其子目錄。

 

在project目錄中建立build.properties檔案。在檔案中寫入使用sbt的版本。若本機沒有相應的版本,sbt會自動下載需要的版本。(本機使用當前最新sbt版本0.13.9)

wpsC4BE.tmp

 

 

在專案目錄下,建立build.sbt,填入相應的專案配置

wpsC4BF.tmp

 

 

接著在命令列中,進入當前工程,使用sbt命令,當看見尖括號提示符,即表示建立成功。(注:第一次使用sbt需要等待很長時間去下載相應檔案。)

wpsC4D0.tmp

 

 

 

將sbt專案匯入到Eclipse

在eclipse中使用sbt相應的配置檔案,需要安裝sbteclipse外掛,sbteclipse外掛會依據sbt的配置生成eclipse專案需要的檔案。

sbteclipse官方地址是 https://github.com/typesafehub/sbteclipse 其中有安裝說明。

在工程目錄的project目錄下建立plugins.sbt,其中新增外掛內容。

wpsC4D1.tmp

 

 

執行reload命令

wpsC4D2.tmp

接著直接執行eclipse命令,即可生成eclipse專案檔案。

 

在eclipse中匯入工程即可:

wpsC4D3.tmp

如果沒有建立src目錄,手動建立如下目錄,然後在重新執行eclipse命令即可。

src/main/scala

src/main/java

src/main/resources

src/test/scala

src/test/scala

src/test/resources

 

專案匯入到Eclipse中顯示如下:

wpsC4E4.tmp

若發現src目錄下沒有resources可以嘗試手動建立,也可以在build.sbt中新增如下配置。

EclipseKeys.createSrc := EclipseCreateSrc.Default + EclipseCreateSrc.Resource

總之很簡單。

 

SBT與Scala程式

編寫HelloSBT程式。

在src/main/scala中寫入HelloSBT程式,生成的eclipse專案如下:

wpsC4E5.tmp

 

使用sbt編譯程式

在sbt命令列下輸入compile

wpsC4F5.tmp

 

使用sbt執行程式

在sbt命令列下輸入run

wpsC4F6.tmp

 

將sbt專案匯入到Inetllj IDEA

工程匯入Inetllj IDEA,需要選擇build.sbt檔案,而不是專案檔案。Inetllj IDEA會顯示對話方塊。

wpsC4F7.tmp

注意有一些高階選項,可以設定一下。

 

 

SBT官網有中文版的文件:http://www.scala-sbt.org/0.13/tutorial/zh-cn/index.html

 

 

--------------------------------------更多內容待寫--------------------------------------------

 

轉載於:https://www.cnblogs.com/shijiaqi1066/p/5103735.html

相關文章