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

问题描述 投票:0回答:1

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,插入我的文件夹,然后重新打包或什么?

java spring-boot gradle kotlin
1个回答
3
投票

可以通过以下方式配置名为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

© www.soinside.com 2019 - 2024. All rights reserved.