是否有一种干净的方法可以将其他根文件夹添加到使用默认 bootRepackage.jar 生成的 Spring Boot Jar 文件中。就我而言,我需要 AWS beanstalk 的 .ebextenions 文件夹。
我知道我可以破解它——例如在 bootRepackage 之后添加另一个任务来解压缩、重新打包(再次)和重新压缩。有更干净的方法吗?
谢谢
..我尝试过的两种方法(不起作用):
jar {
from('src/main/ebextensions') {
into('ebextensions')
}
}
bootRepackage {
from('src/main/ebextensions') {
into('ebextensions')
}
}
最佳答案
对于 Spring Boot 2 (Gradle),如果 .ebextensions
位于项目的根目录,请使用以下任务:
bootJar {
from('./.ebextensions') { into '.ebextensions' }
}
或
bootWar {
from('./.ebextensions') { into '.ebextensions' }
}
这样 Gradle 就会将 .ebextensions
复制到应用程序包的根目录中。
但如果你愿意convention over configuration ,将 .ebextensions 文件夹移至 src/main/resources 内。 resources 目录的内容自动打包在 /BOOT-INF/classes/
中(无需编写脚本)。解压后,EB 部署脚本将发现 .ebextensions
目录。
关于gradle - 使用 Gradle 将 .ebextensions 添加到 Spring Boot Jar 的简洁方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39207803/