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