Gradle资源文件冲突解决(log4j2.xml)

时间:2017-03-16 21:11:46

标签: java gradle log4j2

我的主要Gradle项目A取决于另一个Gradle项目B.A和B都有一个log4j2.xml文件

src/main/resources/log4j2.xml

当我运行./gradlew build时,gradle会将项目B中的log4j2.xml文件打包到最终的JAR文件中。有没有办法使用Gradle指定我想要包含哪个log4j2.xml文件?

我正在使用jar插件

jar {
    zip64=true

    from {
        configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
    }
}

1 个答案:

答案 0 :(得分:0)

您可以将项目A log4j2.xml的文件名更改为log4j2_final.xml,然后明确指定此配置文件。

有关详细信息,请参阅Log4j2常见问题解答。

  

如何指定配置文件位置?

     

默认情况下,Log4j在类路径中查找名为log4j2.xml(而不是log4j.xml)的配置文件。

     

您还可以使用以下系统属性指定配置文件的完整路径:-Dlog4j.configurationFile = path / to / log4j2.xml

     

该属性也可以包含在名为log4j2.component.properties的类路径资源文件中。