gpt4 book ai didi

java - 多个 Maven 模块中的 log4j.properties?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:09:45 27 4
gpt4 key购买 nike

当我有一个由多个模块组成的 Maven 应用程序并且每个模块都包含一个 log4j.properties 文件时,会发生什么情况,它们是否会被某个模块合并或覆盖(如果是,是哪个模块)?

更新:按照你的建议,我现在已经在我的 poms 中排除了这样的额外属性:

<dependency>
[...]
<excludes><exclude>**/log4j.properties</exclude></excludes>
</dependency>

P.S.:但是,Maven 无法识别“excludes”标签,“exclusions”仅适用于依赖项,不适用于资源。

更新

刚刚在 log4j in a multi-module Maven project 中发现我可以将 log4j.properties 放在 src/test/resources 中,这样它们就不会包含在可执行模块中!

最佳答案

它们永远不会合并。通常,log4j.properties 文件会被覆盖,您无法准确分辨是哪一个。

这取决于容器加载Jar文件的顺序。

因此建议在应用程序的核心模块中为其他子模块设置一个 log4j.properties 和多个 appender。

但是它会在独立测试/使用子模块时产生问题,因为它会在单独测试时停止记录。在我们的例子中,pom 的源代码控制版本总是用于排除资源(这将在构建 jar 时排除属性文件)。然而在开发者本地,开发者过去常常在 POM 中注释掉排除项并且可以独立工作。

关于java - 多个 Maven 模块中的 log4j.properties?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21912417/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com