java - contextPath 是否可用作用于定义属性文件路径的 placeHolder
问题描述
让我们从一些上下文开始:
- Tomcat 容器
- 战争自动部署
- tomcat 中没有 Context.xml(至少现在)
- 两个(相同的)战争部署具有两个不同的上下文(ROOT.war,test.war,为什么每个功能分支不一场战争)
- 两次战争的某些属性应该不同(覆盖)。
我对属性使用这样的东西:
<bean id="properties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="ignoreResourceNotFound" value="true"/>
<property name="locations">
<list>
<value>classpath:internal-common.properties</value>
<value>classpath:${server.contextPath}/context.properties</value>
<value>classpath:dev-overwrite.properties</value>
</list>
</property>
internal-common 和 dev-overwrite 按预期工作。我找不到正确的 placeHolder (至少不是 ${server.contextPath} )每个上下文都有一个外部属性。
我认为不起作用,并且有很多与此相关的答案:
- 使用“环境”。两个WAR共享同一个tomcat实例,所以同一个env
- 系统属性,同理
- 有不同的属性名称,我不想要因为我想要同样的战争
- 使用来自tomcat。如果我能避免它,这将简化我的过程。
- 扩展弹簧属性对象也可以工作,但我想确保它们不是更容易/最简单的解决方案。理想情况下,任何具有 contextPath 信息的占位符都可以解决问题。
解决方案
推荐阅读
- php - 从文本文件中提取某些数据并创建表格
- spring-data - 如何一起使用 spring-data-ldap 和 spring-security-ldap?
- powershell - 如何通过Powershell将文件共享中网站下的普通文件夹转换为应用程序?
- html - 将卡片内容与其他卡片内容对齐(照片)
- javascript - 有没有办法在基于地区设置货币时获得一致的输出
- python - 过滤字典列表以获得最低价格
- javascript - 在 BrowserTab 中重新加载网页,而不是所有网页 - Javascript
- javascript - 无论如何要在仅用对象构造的对象变量中添加许多对象?
- javascript - 尝试在 vue 中将两个日期时间绑定在一起,以便一个动态更新另一个
- r - 我在从删除异常值的函数中返回 R 中的数据框对象时遇到问题