要构建Java或Kotlin项目的“fat”Jar,将所有依赖项都包含在一个文件中,你可以使用shadow Gradle插件。
我发现很难找到关于它如何使用Gradle Kotlin DSL(带有build.gradle)工作的清晰文档。kts而不是build.gradle)我是这样做的:
$ cat build.gradle.kts
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
plugins {
kotlin("jvm") version "1.3.41"
id("com.github.johnrengelman.shadow") version "5.1.0"
}
repositories {
mavenCentral()
}
dependencies {
implementation(kotlin("stdlib"))
}
tasks.withType<ShadowJar>() {
manifest {
attributes["Main-Class"] = "HelloKt"
}
}
$ cat src/main/kotlin/Hello.kt
fun main() {
println("Hello!")
}
$ gradle wrapper --gradle-version 5.5
BUILD SUCCESSFUL in 0s
1 actionable task: 1 executed
$ ./gradlew shadowJar
BUILD SUCCESSFUL in 1s
2 actionable tasks: 2 executed
$ java -jar build/libs/hello-all.jar
Hello!
评论前必须登录!
注册