如何使用 Spring Boot“bootJar”插件创建 gradle 任务以生成爆炸性战争?

Posted

技术标签:

【中文标题】如何使用 Spring Boot“bootJar”插件创建 gradle 任务以生成爆炸性战争?【英文标题】:How can I create a gradle task to generate exploded war with Sprint boot "bootWar" plugin? 【发布时间】:2020-06-18 23:19:06 【问题描述】:

我使用“org.springframework.boot”插件并使用bootWar任务来生成我的spring boot项目的war文件。 我想要一个创建这个war文件的分解版本的任务。

使用“战争”插件的标准方法是:

task explodedWar(type: Sync) 
    into "$war.archivePath.parentFile.getAbsolutePath()/exploded/$war.archivePath.name"
    with war

如何使用 spring-boot/bootWar 插件做同样的事情?

【问题讨论】:

【参考方案1】:

尝试:

task explodeBootWar(type: Sync) 
    dependsOn bootWar
    into "$buildDir/boot_war_exploded"
    from project.zipTree(bootWar.archiveFile)

您可以在普通的war 任务上使用with 方法,因为它基本上只是一个copySpec。但是,bootWar 任务会做一些额外的事情,因此您必须构建并解压缩实际的存档。

【讨论】:

以上是关于如何使用 Spring Boot“bootJar”插件创建 gradle 任务以生成爆炸性战争?的主要内容,如果未能解决你的问题,请参考以下文章

使用 gradle bootJar 而不是 jar 任务并在 Jenkins 中构建失败

Spring Boot 以 jar 包方式运行在后台

类加载:spring-boot-loader 模块

Spring Boot 以 jar 包方式运行在后台

spring boot 日志管理

Spring Boot 以 jar 包方式运行在后台