前提
Tomcat会先去读server.xml下配置的context标签的项目,之后会去加载conf/Catalina/localhost下面的.xml里面配置的项目,之后会去读取server.xml下配置的appBase下的项目。
即加载项目步骤:
1、server.xml的context项目
2、conf/Catalina/localhost的context项目
3、appBase的war包项目
4、appBase目录下的文件夹项目
需求
使用Tomcat时,涉及多个war包应用部署,war包之间又有先后启动依赖关系,所以需要控制war包加载顺序。
分析
版本(8.5.73)经测试,存放在webapps目录下的war包,启动Tomcat加载顺序为war包的ctime属性决定,时间戳最早优先启动。(若时间戳一致,则按字典顺序)
方案
在server.xml添加context项目控制应用加载顺序。
例:
在server.xml文件中host标签下配置hello-world.war和test.war的context
<Context docBase="/data/tomcat-8.5.73/test.war" path="/test"></Context>
<Context docBase="/data/tomcat-8.5.73/hello-world.war" path="/hello-world"></Context>