一尘不染

如何在Spring Boot Gradle中指定启动器?

spring-boot

Spring Boot中有三个启动器:JarLauncher / PropertiesLauncher /
WarLauncher。对于可执行jar,默认情况下将使用JarLauncher。现在,我想改用PropertiesLauncher,以便可以使用外部类路径。我怎样才能指定那是spring
boot gradle插件?

根据此文档D.3.1 Launcher清单的
D3.1 ,我可以这样在MANIFEST.MF中指定主类:

Main-Class: org.springframework.boot.loader.JarLauncher
Start-Class: com.mycompany.project.MyApplication

但是,在Spring Boot Gradle中,以下代码片段实际上指定了Start-Class,而不是Main-Class:

springBoot {
    mainClass = "com.sybercare.HealthServiceApplication"
}

我需要手动创建MANIFIEST.MF还是有更好的方法呢?

谢谢!


阅读 996

收藏
2020-05-30

共1个答案

一尘不染

添加layout属性:

springBoot{
    mainClass = "com.sybercare.HealthServiceApplication"
    layout = "ZIP"
}

layout = ZIP 触发SpringBoot使用 PropertiesLauncher

2020-05-30