小问题。我们使用 Spring 3.1,并且似乎在值分隔符(即默认值)方面存在问题。
<context:property-placeholder ignore-resource-not-found="false" ignore-unresolvable="false" location="${app-conf-base-path:classpath:}environment/app-conf-${spring.profiles.active:test}.properties" />
我们根据 Maven 环境配置文件过滤正在部署的属性。如果没有提供 maven 环境配置文件,所有环境属性文件都将加载到 war 中并放在类路径中。实际环境特定设置在运行时使用弹簧配置文件加载。给我们带来问题的部分是 ${app-conf-base-path:classpath:} 因为他似乎无法解决这个问题。我相信这是因为占位符是使用最后一次出现的默认值分隔符拆分的。为什么我们想要这个是因为我们希望他查看 app-conf-base-path,除非它没有被定义为 JVM 参数。在这种情况下,他应该查看类路径。
我试过了:
- 带有值分隔符 == '?' 的占位符配置器 无济于事。
有人知道替代方案吗?