Gradle创建Scala控制台应用骨架遇类型不支持问题
解决Gradle创建Scala控制台应用的问题
别担心,这是个常见的小问题——Gradle的init命令确实没有提供scala-application这个初始化类型,但你已经用scala-library搭好了基础框架,只需要几个简单修改就能把它变成可运行的控制台应用。下面是具体操作步骤:
1. 调整build.gradle配置
打开项目根目录下的build.gradle(如果用Kotlin DSL就是build.gradle.kts),添加application插件并指定主类路径:
Groovy DSL版本(build.gradle)
plugins { id 'scala' id 'application' // 添加应用插件,支持构建可执行程序 } repositories { mavenCentral() } dependencies { implementation 'org.scala-lang:scala-library:2.13.12' // 可根据你的Scala版本调整 testImplementation 'org.scalatest:scalatest_2.13:3.2.15' testImplementation 'junit:junit:4.13.2' } // 指定主类的全限定名,替换成你自己的包名+类名 mainClassName = 'com.example.HelloWorld'
Kotlin DSL版本(build.gradle.kts)
plugins { scala application // 添加应用插件 } repositories { mavenCentral() } dependencies { implementation("org.scala-lang:scala-library:2.13.12") testImplementation("org.scalatest:scalatest_2.13:3.2.15") testImplementation("junit:junit:4.13.2") } application { mainClass.set("com.example.HelloWorld") // 指定主类 }
2. 创建Scala入口类
在src/main/scala下创建对应的包结构(比如com/example),然后新建HelloWorld.scala文件,编写带main方法的入口代码:
package com.example object HelloWorld { def main(args: Array[String]): Unit = { println("Hello world") } }
(注:Scala里通常用单例对象作为程序入口,当然你也可以用普通类实现main方法,效果是一样的)
3. 运行和构建应用
现在可以用Gradle命令启动应用了:
./gradlew run
执行后就能在控制台看到Hello world的输出。
如果需要生成可执行JAR包,运行:
./gradlew assemble
生成的JAR包会放在build/libs目录下,直接用java -jar命令就能运行。
内容的提问来源于stack exchange,提问作者kosiara - Bartosz Kosarzycki
相关产品推荐
相关产品推荐

