天天看點

用Gradle建立Scala項目

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用起來順手太多了。大家可以試試。官方文檔對于這部分還有更多介紹,有興趣的可以進一步了解。