我已经完成了 Spring Boot 应用程序从 1.5.8 到 2.1.14-RELEASE 的迁移,并使用 gradle 作为构建脚本。我正在使用 spring-boot-gradle-plugin 和 spring-boot-dependency-management 插件。在我们的 Spring Boot 项目中,我们通过为每个 jar 创建任务来创建多个可执行 jar 文件,如下所示
// During Migration changed from Jar to BootJar
task eurekaAppJar(type: BootJar) {
baseName = 'eurekaJar'
version = '0.0.1'
println sourceSets.main.output
manifest {
attributes 'Main-Class': "org.springframework.boot.loader.JarLauncher"
attributes 'Start-Class': "com.abc.abcCompany.service.eurekaApp.EurekaApplication"
attributes 'Implementation-Version': "001"
}
bootJar {
mainClassName = "com.abc.abcCompany.service.eurekaApp.EurekaApplication"
}
from(sourceSets.main.output) {
}
}
// During Migration changed from Jar to BootJar
task oAuthConfigJar(type: BootJar) {
baseName = 'oAuthConfigJar'
version = '0.0.1'
manifest {
attributes 'Main-Class': "org.springframework.boot.loader.JarLauncher"
attributes 'Start-Class': "com.abc.abcCompany.service.authserver.AuthServerApplication"
attributes 'Implementation-Version': "001"
}
springBoot {
mainClassName = "com.abcCompany.service.authserver.AuthServerApplication"
}
from(sourceSets.main.output) {
}
}
// During migration changed from BootRepackage to BootJar
task eurekaBoot(type: BootJar, dependsOn: eurekaAppJar) {
mainClassName = 'com.abc.abcCompany.service.eurekaApp.EurekaApplication'
// During migration commented the below code
// customConfiguration = "eurekaconfiguration"
// withJarTask = eztrackerEurekaJar
}
// During migration changed from BootRepackage to BootJar
task oAuthConfigJarBoot(type: BootJar, dependsOn: oAuthConfigJar) {
println " Executing eztrackerApiGatewayBoot task"
mainClassName = 'com.abc.abcCompany.service.authserver.AuthServerApplication'
// During migration commented the below code
// customConfiguration = "zuulconfiguration"
// withJarTask = eztrackerApiGatewayJar
}
bootJar.dependsOn = [eurekaBoot, oAuthConfigJarBoot]
bootJar.enabled = false
在上面的代码中,无论是执行gradle assemble后,都创建了两个可执行的 jar 文件eurekaJar-0.0.1.jar、oAuthConfigJar-0.0.1.jar。
这是我的问题:
在 spring boot 迁移之前,上述 jars 中的文件夹结构如下:
eurekaJar-0.0.1.jar -- 组织 -- 元信息 -- 引导-INT -- 库 -- 依赖项(罐子) -- 类 -- 应用程序类
下面是迁移后的文件夹结构
eurekaJar-0.0.1.jar -- 组织 -- 元信息 -- 应用程序类
所以迁移后没有 BOOT-INF 文件夹和依赖项(lib 文件夹)
由于上述问题,我的可执行 jar 没有运行。
任何评论表示赞赏。