使用Gradle Kotlin 打包普通Jar
在项目没有引用
springboot
的情况下,是无法使用springboot为我们准备好的bootJar
的,打包也需要自己配置。如果直接运行 gradle jar ,会发现打包成功,但是无法运行,只有一个空包,运行提示xxx.jar中没有主清单属性
我们在build.gradle.kts
中为打包加上主清单,注意:使用kotlin需要在main
方法所在文件名最后加上Kt
tasks.jar {
// enabled = true
manifest {
attributes(mapOf("Main-Class" to "com.xx.xx.ci.MainKt"))
}
}
继续执行打包,运行后发现一些错误信息,大意是没有将相关jar包打入当前包
最终配置,这个配置不仅可以将当前程序的依赖打入jar,还能将依赖jar的依赖打入,也就实现了将嵌套依赖
打入最终包中
tasks.jar {
// enabled = true
manifest {
attributes(mapOf("Main-Class" to "com.xx.xx.ci.MainKt"))
}
from(configurations.runtimeClasspath.get().map {
if (it.isDirectory) it else zipTree(it)
})
val sourcesMain = sourceSets.main.get()
sourcesMain.allSource.forEach { println("add from sources: ${it.name}") }
from(sourcesMain.output)
}
标题:使用Gradle Kotlin 打包普通Jar
作者:llilei
地址:http://solo.llilei.work/articles/2024/10/19/1729326021336.html