我想为Scala创建一个骨架控制台应用程序,即一个具有打印“Hello world”的main函数的单个入口类。
我能够通过执行以下命令创建一个Scala库init项目:
gradle init--typescala库
然而,似乎没有scala应用程序,运行:
gradle init--typescala应用程序
不支持请求的构建设置类型scala应用程序。支持的类型:基本、groovy应用程序、groovy库、java应用程序、java库、pom、scala库。
Gradle没有Scala控制台应用模板吗?
不,没有scala的应用程序模板,但是很容易通过两个步骤将生成的“scala库”项目变成scala应用程序:
例如,添加src/main/scala/com/example/myapp/Main. scala:
package com.example.myapp
object Main {
def main(args: Array[String]): Unit = {
println("Hello")
}
}
然后在您的gradle.build添加:
apply plugin: 'application'
mainClassName='com.example.myapp.Main'
在你拥有的Java
之上,你几乎只需要添加application plugin:'scala'
并将Main
更改为:
object Main extends App {
println('Hello, World!')
}
我最终就是这样做的。
此外,如果你想要联合编译(并且让编译器在同一个地方理解Java
和Scala
),你可以添加以下片段(每个源代码集一个块:main
,test
,jmh
等):
sourceSets.main {
java.srcDirs = []
scala.srcDirs = ['src/main/scala', 'src/main/java']
scala.include '**/*.*'
}
sourceSets.test {
java.srcDirs = []
scala.srcDirs = ['src/test/scala', 'src/test/java']
scala.include '**/*.*'
}
从Gradle 6.7开始,scala-application
构建类型现在已经存在。