Build Scala Project With IntelliJ and SBT
SBT 是 Scala 界建構工具,如果使用過 Maven 或 Gradle,就可以把他們看成是類似的 Build Tools。
假設你已經試過了使用 IntelliJ 建立一個簡單的 Scala Project,那麼就可以先跳過環境建置的部分。
環境建置
Step.1 Install Java 8 JDK
Step.2 Download IntelliJ Community
Step.3 IntelliJ Plugin Install Scala
開啟 IntelliJ 的 Preferences,選擇 Plugins,找到 Scala 進行安裝,安裝完成後會需要重啟 IntelliJ。
建立 Scala Project
選擇 Create New Project
左側選單選擇 Scala,右側選擇 sbt。
輸入 Project Name,點擊 Finish
可以看到 Project 正在進行初始化
Hello Scala
不免俗的,又要來寫第一支 Scala 程式了,首先展開 src 資料夾,選擇到 scala 資料夾,並建立 Package。
接著一樣選擇 scala 資料夾,建立 Scala Class
糟!沒有 Scala Class 可以選擇…….
別緊張,選擇 Project 後,點擊右鍵,並選擇 Add Frameworks Support,將 Scala 選項打勾即可。
可以正常新增 Scala Class 囉!
新增完成後,將原有程式改為下列程式碼:
object Main extends App {
val ages = Seq(42, 75, 29, 64)
println(s"The oldest person is ${ages.max}")
}
簡單的程式到這邊就寫完了,接著就是要執行程式囉。
程式執行
選擇上方工具列的 Run → Edit Configurations
點選 + ,再選擇 sbt Task
接著輸入下列資訊,並點擊 OK 完成
Name: HelloScala
Tasks:~run
至 IntelliJ 右上方選擇 Run 就可以運作了。
呈現結果如下:
Adding a Dependency
與 Maven 、 Gradle 一樣,可以加入 Library 至專案中,只要打開 build.sbt 增加即可,下列為一個例子:
libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.1.2"
更多的 Library 可以至下列網址搜尋:
Adding Maven Dependency
如果想使用 Maven 提供的 Library 是不是也可以做到呢?以 Gson 為例, Maven 的設定如下:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
我們可以將 Maven 的 groupId、artifactId、version 字串轉換為 SBT,轉換格式為:
libraryDependencies += “{GROUP_ID}” % “{ARTIFACT_ID}” % “{VERSION}”
Gson Dependency 轉換後為:
libraryDependencies += "com.google.code.gson" % "gson" % "2.8.6"
將轉換後的字串放置於 build.sbt,並 refresh project 就可以使用囉!