我有使用 Gradle 的 Java 应用程序。目前我的资源目录包含Typesafe Config和Log4J配置文件。
根据我的应用程序是为开发还是生产构建的,这两个文件都有不同的设置。例如,我希望 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
有谁知道如何实现这一目标?