Tomcat 部署2個項目,只有一個可以訪問的解決方案


Tomcat 部署2個應用后只有一個可以訪問,另一個不能訪問,一般來說就是因為Tomcat啟動加載了配置文件后,當啟動另一個應用時由於一些配置名稱相同所以不再加載,導致之后應用無法正常啟動。

異常信息:

org.springframework.jmx.export.UnableToRegisterMBeanException: Unable to register MBean [HikariDataSource (null)] with key 'dataSource'; nested exception is javax.management.InstanceAlreadyExistsException: wenda:name=dataSource,type=HikariDataSource

java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[

解決方法: 在web.xml中修改

<context-param> 
         <param-name>webAppRootKey</param-name> 
         <param-value>XXX</param-value> 
</context-param> 

使webAppRootKey值XXX不相同即可。

如果是SpringBoot項目則在application中各自配置

spring.jmx.default-domain=XXX

以保證domain是兩個不一樣的即可。

參考資料:

https://blog.csdn.net/hongtinghua/article/details/81383232

https://www.zhihu.com/question/36688387

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM