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

时间:2019-01-14 03:10:51

标签: java spring-boot gradle kotlin

AWS弹性beantalk需要在jar的根目录下有一个.ebextensions文件夹来配置弹性beantalk,但是我不知道如何将文件夹添加到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',但这是行不通的。这是不可能的吗?我是否需要弄清楚如何手动打开罐子,插入我的文件夹,然后重新包装它?

1 个答案:

答案 0 :(得分: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