2

我有使用 Gradle 的 Java 应用程序。目前我的资源目录包含Typesafe ConfigLog4J配置文件。

根据我的应用程序是为开发还是生产构建的,这两个文件都有不同的设置。例如,我希望 Log4J 仅在生产中的 INFO 级别记录。

我无法使用环境变量来交换这些设置,我唯一的选择是通过这些资源文件来完成。

理想情况下,我希望能够在我的 Gradle 配置中拥有 2 个源集——一个用于 dev(main),一个用于 prod——并让 Gradle 为每个源集构建一个 jar。main 源集将继续使用 src/main/resources 作为资源目录,prod 源集将使用 src/main/resources-prod 作为资源目录。

我对这些资源目录在其他位置很好——上面只是一个例子。

现在,我的 Gradle 配置的唯一自定义部分如下(除了添加编译依赖项):

task buildZip(type: Zip) {
    from compileJava
    from processResources
    into('lib') {
        from configurations.runtime
    }
}

build.dependsOn buildZip

有谁知道如何实现这一目标?

4

0 回答 0