是否有一种标准方法可以在gradle项目布局中的所有子项目之间共享日志配置(例如log4j或logback)?
我现在所做的是在每个子项目的logback.xml
中放置log4j.properties
(或src/main/resources
)的副本,但这会导致此配置文件出现大量不必要的重复
答案 0 :(得分:2)
在gradle中使用多个工作集可以轻松克服这一点。
在项目的根目录中添加一个新文件夹,示例“ shared-resources”将我们的配置放入其中,然后将以下行添加到子项目中的build.gradle
sourceSets {
main {
resources {
srcDirs = ["src/main/resource", "../shared-resources"]
}
}
}
这应该将两个文件都添加到您的jar文件中。
可以在github
中找到一个示例答案 1 :(得分:0)
在util
目录中创建一个包含Log4j2
配置的共享src/main/resources
模块。
然后将util
模块导入其他模块。
dependencies {
compile project(":util");
}
我还将util
模块用于可重复使用的Java代码,而不仅仅是一次配置Log4j2。