如何在spring boot gradle项目的.jar根目录中构建一个文件夹?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在spring boot gradle项目的.jar根目录中构建一个文件夹?相关的知识,希望对你有一定的参考价值。

AWS弹性beanstalk需要jar的根目录下的.ebextensions文件夹来配置弹性beanstalk,但我无法弄清楚如何将文件夹放到jar的根目录。

使用此gradle配置,我可以更改文件夹的位置:

compileKotlin {
    kotlinOptions {
        freeCompilerArgs = ["-Xjsr305=strict"]
        jvmTarget = "1.8"
    }

    processResources {
        from ('.ebextensions/') {
            into '.ebextensions'
        }
    }
}

这将文件夹.ebextensions从我的项目的根目录(而不是src/main/resources)移动到

my.jar
 -> BOOT-INF
    -> classes
       -> .ebextensions

我希望我能把它变成into '../../.ebextensions',但这不起作用。这不可能吗?我是否需要弄清楚如何手动解压缩jar,插入我的文件夹,然后重新打包或什么?

答案

可以通过以下方式配置名为bootJar的gradle任务:

bootJar {
     from('.ebextensions') {
        into('.ebextensions' )
     }
} 

Packaging executable jars说:

可以使用bootJar任务构建可执行jar。应用java插件时,该任务会自动创建,并且是BootJar的一个实例。汇编任务自动配置为依赖于bootJar任务,因此运行汇编(或构建)也将运行bootJar任务。

或者您也可以配置jar任务:

jar {
     from('.ebextensions') {
        into('.ebextensions')
    }
}

Packaging executable and normal

以上是关于如何在spring boot gradle项目的.jar根目录中构建一个文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 gradle 中获取 spring-boot 依赖版本?

如何在spring boot gradle项目的.jar根目录中构建一个文件夹?

在IDEA中如何把Gradle下的Spring boot项目打包并部署到服务器

如何从 Gradle Multi Build 项目中发布 Spring Boot 应用程序?

如何使用 gradle 6+ 和 java 11+ 在 Spring Boot 中配置 spock

Gradle 如何配置构建文件以从同一项目创建 Spring boot jar 和 spring web-mvc war