如何在Spring Boot Gradle中指定Launcher?

xin*_*ing 4 launcher gradle spring-boot

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

根据这个doc D.3.1 Launcher清单的 D3.1 ,我可以在MANIFEST.MF中指定主类,如下所示:

Main-Class: org.springframework.boot.loader.JarLauncher
Start-Class: com.mycompany.project.MyApplication
Run Code Online (Sandbox Code Playgroud)

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

springBoot {
    mainClass = "com.sybercare.HealthServiceApplication"
}
Run Code Online (Sandbox Code Playgroud)

我是否需要手动创建MANIFIEST.MF或者有更好的方法来执行此操作?

谢谢!

pcz*_*eus 6

添加layout属性:

springBoot{
    mainClass = "com.sybercare.HealthServiceApplication"
    layout = "ZIP"
}
Run Code Online (Sandbox Code Playgroud)

layout = ZIP 触发SpringBoot使用 PropertiesLauncher