gradle spring boot 打包无依赖jar

背景

希望spring-bootjar包不包含项目的依赖,打包成一个轻量jar包,方便部署和快速打包

方法一:

修改build.gradle.kts:

1
2
3
4
5
6
7
8
9
10
11
12
tasks.withType<Jar>{
manifest {
attributes["Main-Class"] = "com.io.alyze.AlyzeApplicationKt"
//添加所有依赖的
attributes["Class-Path"] = configurations.runtimeClasspath.get().files.joinToString(" ") { "./libs/${it.name}" }
}
}
tasks.register<Copy>("jar-dependency") {
dependsOn("jar")
from(configurations.runtimeClasspath)
into(layout.buildDirectory.dir("libs/libs/"))
}
Read more

gradle将spring-boot和vue打入一个jar包

之前用maven搞过将spring-bootvue打成一个jar包,现在的项目,我使用了gralde,又是同样的需求,使用gradlecomposite似乎更优雅一些.

项目结构

1
2
3
4
5
6
7
8
9
10
.
├── build.gradle.kts
├── settings.gradle.kts
├── app #spring-boot 目录
│   ├── build.gradle.kts
│   ├── settings.gradle.kts
├── web #vue目录
│   ├── build.gradle.kts
│   ├── settings.gradle.kts

Read more