天天看點

Tomcat啟動報錯,不能正常解析配置檔案 Could not load META-INF/services/javax.xml.parsers.SAXParserFactory XML檔案解析失敗

運作環境:Ubantu 14. Tomcat7  

聲明:此伺服器為公司測試伺服器,因為經常需要改動一些固件,或者更新固件,經常會做格式化磁盤;是以無論是什麼環境,一定需要先備份,保證資料安全!!!本文隻做參考

項目在本地運作沒有問題,但是釋出到伺服器就一直報錯,不能啟動項目;下面是報錯

Tomcat啟動報錯,不能正常解析配置檔案 Could not load META-INF/services/javax.xml.parsers.SAXParserFactory XML檔案解析失敗
Tomcat啟動報錯,不能正常解析配置檔案 Could not load META-INF/services/javax.xml.parsers.SAXParserFactory XML檔案解析失敗

The web application [] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.

檢視報錯,還以為是jdbc驅動的問題,換了換驅動的jar包還是報錯,繼續檢視

INFO: Illegal access: this web application instance has been stopped already.  Could not load org.xml.sax.helpers.XMLReaderFactory.  The eventual following stack trace is caused by an error thrown for debugging purposes as well a to attempt to terminate the thread which caused the illegal access, and has no functional impact.

下面有兩句資訊

at com.rhxy.service.ReportMAC.getSystemInfo(ReportMAC.java:84)

        at com.rhxy.service.ReportMAC.run(ReportMAC.java:36)

這個是一個二級域名檢測的線程,下面是相關的代碼:

Tomcat啟動報錯,不能正常解析配置檔案 Could not load META-INF/services/javax.xml.parsers.SAXParserFactory XML檔案解析失敗
Tomcat啟動報錯,不能正常解析配置檔案 Could not load META-INF/services/javax.xml.parsers.SAXParserFactory XML檔案解析失敗

在使用SAXreader讀取配置檔案的時候出現異常,檔案是存在伺服器上的,也沒有說是FileNotFoundException。那就應該是不能正常解析該配置檔案

最後的解決方法是,做好相關檔案的備份工作,嘗試删除該檔案,重新開機後還是不能啟動項目,然後進行格式化磁盤(一定要做好備份) ;重新開機伺服器,運作tomcat 錯誤解決(公司伺服器,系統是運作在一個固态盤上面的,因為昨晚同僚換了一個系統盤,可能因為更換系統盤導緻系統讀取磁盤出錯,以至于不能正常解析配置檔案);