Maven 用不同的 log4j.properties 遮蔽两个执行

Maven shade two executions with different log4j.properties

我有一个模块可以根据两次阴影执行创建两个 jar。我希望他们每个人都在 jar 中捆绑不同的 log4j.properties 文件。我的 pom.xml:

中的每个执行都有以下转换器
<transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
<resource>log4j.properties</resource>
<file>log4j-ONE.properties</file>
</transformer>

我最终得到的是两个 jar 中的 log4j 文件和 none 使用它。是否可以配置转换器,以便每次执行仅包含相关的 log4j-xxx.properties 文件(重命名为 log4j.properties 以便 log4j 使用它)?

最终目标是让每个 jar 写入不同的日志文件,我想不出更简单的方法。

阴影插件配置中的

Resource 标签开始搜索来自 package root 的内容(jar 文件的根...目标文件夹 ecc) 和 file 标记从您的 Maven 项目的根目录开始。因此,如果您已将 log4j-ONE.properties 放在资源文件夹中,则应该解释该行为。