【Tomcat学习】如何调整多个项目的顺序
背景
最近在做一个系统的集成的时候碰到Webapp下只放集成项目启动就没问题,然而把集成项目放到公司产品的Tomcat的webapp下就报Class无法加载等问题.
后面跟踪发现是由于【公司系统】大量使用System.setProperty将本应该是【公司系统】webapp的数据写到了全局中了,巧合的是【第三方应用】启动的时候又在【公司系统】webapp之后,所以问题就出现了。
解决办法
由于两个webapp启动并没有要求谁先加载,谁后加载,那么通过修改webapp加载顺序来确保【第三方应用】在【公司系统】之前启动
在tomcat/config/localhost/目录下添加文件,文件名=webapp名称,文件内容如下
<Context path="/sreport" docBase="sreport" reloadable="false"></Context>
总结
由于webapp名称不可修改,如果名称可以修改的话,可以考虑将名称改下使其排到前面去,此方法也是无奈之举。