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用起来顺手太多了。大家可以试试。官方文档对于这部分还有更多介绍,有兴趣的可以进一步了解。