【问题标题】:Maven shade two executions with different log4j.propertiesMaven 使用不同的 log4j.properties 遮蔽两个执行
【发布时间】:2016-10-05 10:34:36
【问题描述】:

我有一个基于两个阴影执行创建两个 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 文件,并且没有使用它。是否可以配置转换器,使每个执行只包含相关的 log4j-xxx.properties 文件(重命名为 log4j.properties 以便 log4j 使用它)?

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

【问题讨论】:

  • longshot guess....但是资源标签从包根目录(你的jar文件的根目录......目标文件夹ecc)文件从你的maven项目的根目录开始。因此,如果您已将 log4j-ONE.properties 放在资源文件夹中,则应该解释行为
  • 是的,已经解决了,谢谢。
  • 不错!请检查下面的答案

标签: java maven log4j pom.xml maven-shade-plugin


【解决方案1】:
阴影插件配置中的

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-04
    • 2021-12-07
    • 2015-08-15
    • 2016-03-15
    • 2019-07-17
    • 1970-01-01
    相关资源
    最近更新 更多