tomcat修改後無效果的問題

這兩天在解決一個詭異的問題:
    問題的體現在,原先運行很好的平臺,但是忽然出現錯誤,執行某個操作後,發現居然報錯了。httpwatch進去查看錯誤的地方,發現居然是缺少包。
    本以爲找到問題,可以立馬解決了。停掉tomcat,然後再項目中web-INFO中的lib文件夾中,加入缺少的包。重啓tomcat,滿心期待的等待着問題的解決。結果,問題居然仍然存在。我去,心涼了!沒辦法,只能查看代碼了。
後來查看代碼,發現確實是會使用到這個jar包。但是我們確實是加進去了,而且我還清理tomcat的work下的緩存了。當tomcat啓動的時候,我刪除該jar包的時候,彈出該jar包已經被使用,不可刪除,這說明該包也被加載了!那怎麼會這樣呢?
   沒辦法了,只能將項目拷出來,數據庫備份出來,然後放在另一臺服務器中使用。現在更詭異的時候出現了,新起的服務器中項目運行完好,同樣的代碼,同樣的數據庫,結果這樣了!!!目前已經執行如下的操作了!
   1.排查代碼錯誤(查看原來代碼,並且運行)
   2.jar衝突或者jar包缺失(在程序運行的時候,嘗試刪除jar包,發現該包不可刪除。而且當前項目中僅有一個該包)
   3.清理tomcat的work下的緩存
   4.在新服務器的tomcat中啓動該項目(使用同一個數據庫)
   5.在老服務器中拷貝整個tomcat到新服務器,然後使用拷貝出來的tomcat下的startup.bat運行(使用同一個數據庫)
   6.重新安裝jdk和配置環境
   結果是,所有的操作都沒有讓問題重現。僅僅只有老服務器出現問題,頓時心情超級鬱悶了!
   最後,我們實在是沒有辦法了,客戶催的比較緊,所以只有想到一個規避的方案。報錯的地方僅僅是向後臺發送一次請求,然後後臺返回一個json的數據,經判斷,該json內容不會出現變動,所以決定在js的代碼中,將該json內容寫死,前臺就沒有必要請求到後臺。刷新頁面後,報錯就不見了!
   雖然問題可以這樣解決,但是目前我們還是沒有找到出問題的原因,只能猜測可能是由於服務器的硬件和服務器的系統出現故障,導致這個問題的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章