問題描述:后端項(xiàng)目開發(fā)工具是IntelliJ IDEA,運(yùn)行web項(xiàng)目薯鼠,本地測試項(xiàng)目能夠正常運(yùn)行歹颓。將項(xiàng)目打包成war包之后放到本機(jī)的tomcat的webapps下報(bào)404抛丽,原因應(yīng)該是版本太低样漆,7版本和8版本有較大不同撞秋;將war包放到服務(wù)器的tomcat下報(bào)404錯(cuò)誤
問題分析:考慮操作系統(tǒng)的不同對程序的影響长捧,本地和局域網(wǎng)都是在windows環(huán)境中,tomcat啟動(dòng)時(shí)吻贿,都能實(shí)時(shí)看到tomcat的日志信息串结,有什么問題一目了然。而服務(wù)器用的是centos7舅列,linux操作系統(tǒng)肌割,tomcat啟動(dòng)后,實(shí)時(shí)日志信息不能看到帐要,也就不知道tomcat在啟動(dòng)過程中是否發(fā)生了錯(cuò)誤把敞,為了實(shí)時(shí)查看tomcat的日志信息,在重啟tomcat后榨惠,打開日志文件奋早。
問題解決:
報(bào)錯(cuò)的大概意思是不能注冊MBean,解決的辦法就是不注冊赠橙,直接將jmx設(shè)置為false
在linux系統(tǒng)耽装,切換到tomcat的bin目錄,依次鍵入
./shutdown.sh
./startup.sh
重啟tomcat期揪,然后切換到tomcat的logs目錄掉奄,鍵入
tail -f catalina.out
就可以實(shí)時(shí)查看tomcat的日志信息,日志信息比較多横侦,不過錯(cuò)誤信息也是很明顯的挥萌,和用開發(fā)工具調(diào)試的時(shí)候碰到的報(bào)錯(cuò)信息類似,很容易發(fā)現(xiàn)枉侧。報(bào)錯(cuò)信息的開頭引瀑,就是如下的一段。
Unable to register MBean [HikariDataSource (null)] with key 'dataSource'; nested exception is javax.management.InstanceAlreadyExistsException: com.zaxxer.hikari:name=dataSource,type=HikariDataSource
方法就是在配置文件application.properties中榨馁,進(jìn)行如下設(shè)置
spring.jmx.enabled=false
重新生成war包憨栽,測試,頁面能夠正常打開,功能也都正常屑柔。
問題經(jīng)驗(yàn):同樣的war包屡萤,在windows環(huán)境中能夠使用,到了linux環(huán)境中報(bào)錯(cuò)