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

    原文作者:乐百川
    原文地址: https://www.jianshu.com/p/f770bddaed82
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞