java - 如何在 Spring Boot Gradle 项目的 .jar 根目录中构建文件夹?

标签 java spring-boot gradle kotlin

AWS elastic beanstalk 需要 jar 根目录下的 .ebextensions 文件夹来配置 Elastic 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

我希望我可以将其变成“../../.ebextensions”,但这不起作用。难道这根本不可能吗?我是否需要弄清楚如何手动解压 jar,插入我的文件夹,然后重新打包它或其他什么?

最佳答案

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

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

Packaging executable jars说:

Executable jars can be built using the bootJar task. The task is automatically created when the java plugin is applied and is an instance of BootJar. The assemble task is automatically configured to depend upon the bootJar task so running assemble (or build) will also run the bootJar task.

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

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

Packaging executable and normal

关于java - 如何在 Spring Boot Gradle 项目的 .jar 根目录中构建文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54175340/

相关文章:

java - 在Java中生成2个给定日期之间的所有日期

java - JWT 应该是一个单独的身份验证微服务,而不是与后端业务逻辑一起使用吗?

java - Intellij不创建gradle包装器属性

Android Studio 引用库

添加到 JPanel 时,Java Swing 组件没有正确的大小

java - 当用户按没有值的回车键时,如何在java中显示int的空消息

spring-boot - 在 Spring Boot 中自定义 JSON 响应以更改键名

java - 简单的 Spring Boot 不适用于 aws

gradle - 目前与语言无关的当前可用的构建工具是什么?

java - 如何使用 Visual Studio Code 在 java 中导入内容