我有Gradle多项目解决方案,如下所示:
---Root
-----SubProject1
-----SubProject2
-----SubProject3
为了避免重复,我想对所有子项目使用相同的log4j2记录器配置文件(“ log4j2.xml”)。
是否可以将其放置在某个地方,以便影响所有子项目?我更喜欢对每个子项目透明的解决方案。
例如,在.NET解决方案中,我能够将log4net配置放入主app.config中,并将其应用于解决方案中的所有项目。我想在Java中实现类似的目标...
答案 0 :(得分:0)
您可以使用build.gradle
块从根项目subprojects
脚本中配置子项目(请参见https://docs.gradle.org/current/dsl/org.gradle.api.Project.html#org.gradle.api.Project:subprojects(groovy.lang.Closure))
例如,您可以配置sourceSets
,以便将某些“共享资源”目录附加到子项目的sourceSets.main.resources
属性中,如下所示:
根项目的build.gradle
subprojects {
apply plugin: 'java'
main {
resources {
srcDirs += "../shared-resources"
}
}
}
在您的根项目中,您可以创建一个shared-resources
,其中将包含所有共享的配置文件,例如log4j.xml