【发布时间】:2018-12-25 10:15:08
【问题描述】:
我想在 catalina.properties 中拥有一个属性,并在某些情况下使用 -D=propvalue 从命令行覆盖它
这可能吗?
更具体地说,我想用系统属性控制 server.xml 中连接器的端口,如下所示:
<Connector port="${custom.port}" sendReasonPhrase="true" maxThreads="200"/>
在 catalina.properties 我有属性集: custom.port=9000
我想保留它,但在某些情况下将覆盖传递给 tomcat,例如 -Dcustom.port=9001。
好像 catalina.properties 中的配置有优先权,会被使用。这是意外行为。
有没有办法反过来强制执行? 是否有另一种方法可以在 server.xml 中设置默认值,例如:
<Connector port="${custom.port:9000}" sendReasonPhrase="true" maxThreads="200"/>
如果系统属性不存在,则设置为9000。
【问题讨论】:
标签: java tomcat catalina system-properties