个性化阅读
专注于IT技术分析

使用Kotlin DSL在Gradle中构建一个全能的Jar

要构建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!
赞(0) 打赏
未经允许不得转载:srcmini » 使用Kotlin DSL在Gradle中构建一个全能的Jar
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏