You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Tomcat9后catalina.config失效,如何从catalina.home加载配置文件?

Tomcat 9升级后catalina.config属性失效问题

我从Tomcat 8.5升级到Tomcat 9后,原8.5版本中使用的catalina.config属性值不再生效。

在Tomcat 8.5中,可通过catalina.config属性指定catalina.properties文件的路径,该版本中catalina.config仅接受URL作为路径:

catalina.config --> catalina.properties配置文件的URL。

但在Tomcat 9中,catalina.config的可接受值有所调整,源于Bug 48543的补丁增强了该参数指定方式的灵活性,属性描述也更新为:

catalina.config --> 加载catalina.properties配置文件的位置。可以是绝对URL、相对(相对于当前工作目录)URL,或是替代文件名,此时Tomcat会尝试从默认位置$CATALINA_BASE/conf/加载文件。

我在Tomcat 8.5中可正常工作的配置(catalina.base会根据启动的应用不同而变化):

-Dcatalina.home=c:\Program Files\myProgram
-Dcatalina.base=c:\Program Files\myProgram\mySubProgram
-Dcatalina.config=file://c:/Program Files/myProgram/conf/loader.properties

升级到Tomcat 9后,通过catalina.config指定的路径无法再加载loader.properties文件。我尝试了多种路径、URL和文件名的组合,都无法让Tomcat从$catalina_home\conf以外的位置加载文件。

尝试过但未成功的方法(catalina.base和catalina.home使用上述值):

  • 失败:绝对URL
    -Dcatalina.config=file://c:/Program Files/myProgram/conf/loader.properties
    OR
    -Dcatalina.config=file://c:/Program Files/myProgram/conf/catalina.properties
    
  • 失败:相对(相对于当前工作目录)URL
    -Dcatalina.config=file://../conf/loader.properties
    OR
    -Dcatalina.config=file://../conf/catalina.properties
    
  • 符合文档描述但无法满足需求(仅能从$catalina.home\conf加载)
    -Dcatalina.config=loader.properties
    

目前毫无头绪,不确定是需要向Tomcat提交Bug报告,还是我的配置方式有误,恳请各位提供帮助。

内容的提问来源于stack exchange,提问作者cforrester

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 12:47:52