【问题标题】:Spring: exclude some properties files from contextSpring:从上下文中排除一些属性文件
【发布时间】:2020-12-21 22:07:51
【问题描述】:

假设我们有一些带有相同键/值的属性文件的 jars。

configA.jar: log4j.A.properties

configB.jar: log4j.B.properties

问题:Spring 混合了两个属性文件中的值。那么,如何从上下文中排除 log4j.A.properties,只处理 log4j.B.properties?

更新(添加了一些东西):有一个 maven 构建,它产生了上面提到的两个 jar。在 webapp (applicationContext.xml) 以下设置:

<util:properties id="propertyConfigurer" location="classpath:common.properties,classpath*:edrive.properties,classpath*:job.properties,classpath*:log4j.B.properties"/>

启动后,Spring 将两个 jar 混合并随机(或最后一个)jar,它是 log4j.properties。但我们只需要 log4j.B.properties。该怎么做?

【问题讨论】:

  • 为什么 Spring 会考虑 log4j.A.propertieslog4j.B.properties 作为属性占位符?请提供更多背景信息以了解您的工作。
  • 我已经更新了最初的帖子,谢谢。
  • stackoverflow.com/q/4113697/6309111 这能回答你的问题吗?
  • 不幸的是,没有。这个答案非常适合单模块 Maven 结构的场景。在我的情况下,这两个带有配置的 jar 在实际构建开始之前构建,因此,在最终组装期间不可能排除这两个属性文件。

标签: spring properties-file


【解决方案1】:

尝试添加要在属性文件中使用的配置文件

logging.config=log4j.B.properties

【讨论】:

  • 很遗憾,没有帮助。
【解决方案2】:

我自己解决了这个问题。我已使用以下配置将日志记录工具升级到 Log4j2:

类路径中的log4j2.component.properties:

log4j.configurationFile=classpath:log4j2.web.xml

就是这样。

【讨论】:

    猜你喜欢
    • 2019-08-12
    • 2022-01-12
    • 2011-02-13
    • 2011-02-13
    • 2014-06-27
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2013-08-03
    相关资源
    最近更新 更多