Scala是一門強大的語言,受到很多人的喜愛,我也曾經嘗試學習過。不過Scala官網專用的建構工具SBT就不那麼好用了。我曾經想将SBT的軟體包儲存路徑設定到D盤,還想設定網絡代理,不過最後都沒搞明白怎麼回事。相信也有很多同學想學習Scala,但是卻被SBT擋在了門外。偶然之下我發現現在Gradle增加了scala插件,可以完美支援Scala項目。是以就來趕緊介紹一下。本文參考自 官方文檔
,另外還需要讀者對Gradle有所了解,不需要會編寫什麼複雜腳本,但是最起碼得能讀懂配置檔案。
首先添加Scala的插件,該插件會添加幾個任務,這些任務可以在IDEA的Gradle視圖中看到。
apply plugin: 'scala'
目前IDEA好像還沒有太多對該插件的支援,是以不會像kotlin那樣,你添加插件聲明,IDEA就會自動建立kotlin那幾個檔案夾。Scala的這幾個檔案夾還需要我們自己建立,具體就是
src/main/scala
和
src/test/scala
。将來Scala檔案需要放在這兩個檔案夾中。當然如果你想自定義的話也是可以的。
sourceSets {
main {
scala {
srcDirs = ['src/scala']
}
}
test {
scala {
srcDirs = ['test/scala']
}
}
}
僅僅啟用這個插件還是不行的,我們還需要指定scala的運作庫。如果你隻想在測試代碼中使用Scala,就将scala-library這個包設定為testCompile的。如果需要其他版本的Scala運作庫,從
mvnrepository.com搜尋就可以了。
repositories {
mavenCentral()
}
dependencies {
// https://mvnrepository.com/artifact/org.scala-lang/scala-library
compile group: 'org.scala-lang', name: 'scala-library', version: '2.12.4'
// https://mvnrepository.com/artifact/org.scalatest/scalatest
testCompile group: 'org.scalatest', name: 'scalatest_2.12', version: '3.0.4'
testCompile group: 'junit', name: 'junit', version: '4.12'
}
這樣一來,我們就可以利用Gradle來運作Scala項目了,我試了一下,确實非常舒服,也許是由于我對SBT不熟悉的緣故,我感覺Gradle用起來順手太多了。大家可以試試。官方文檔對于這部分還有更多介紹,有興趣的可以進一步了解。