Spring:从上下文中排除一些属性文件

问题描述

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

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。如何做到这一点?

解决方法

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

logging.config=log4j.B.properties
,

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

类路径中的 log4j2.component.properties:

log4j.configurationFile=classpath:log4j2.web.xml

就是这样。