WebSphere從Windows遷移至Linux出現org.dom4j.DocumentException異常:Nested exception: prolog 中不允許有內容

來源:互聯網
上載者:User

2013年的元旦,因為項目上線要加班,所以沒有放假。可是,就在這幾天,Web系統突然出現了嚴重異常。。。

 

系統開發與測試基本都結束了,等著從測試環境向正式環境遷移。就在元旦前一天,一個嚴重的異常出現了,異常資訊如下:

Caused by: org.dom4j.DocumentException: Error on line 1 of document  : prolog 中不允許有內容。 Nested exception: prolog 中不允許有內容。
 at org.dom4j.io.SAXReader.read(SAXReader.java:355)
 at org.dom4j.io.SAXReader.read(SAXReader.java:271)
 at org.dom4j.DocumentHelper.parseText(DocumentHelper.java:215)
 ... 56 more

 

因為伺服器是剛買的,系統都是新裝的,並且Java程式都是跨平台的,在Windows下和Linux下都可以啟動並執行,理論上來說應該沒有什麼問題,以前也做過Windows和Linux的遷移。

於是,我們把項目從測試的Windows環境遷移到Linux環境,都是同一個廠家的伺服器,JDK、WebSphere版本都一樣,應用程式版本也一致。

這個異常出現的位置是在資料庫裡的表單往頁面載入的時候出現的,資料庫裡的資料沒有問題,用Windows上的程式已經測試通過了,基本確定是項目部署環境的問題。還有一個功能有問題,流程圖顯示不出來。看起來沒什麼聯絡,唯一的聯絡就是資料都是大欄位儲存在資料庫裡的。

發現了異常之後,我重裝了好幾遍JDK和WebSphere的環境,Web系統裡的功能測試都正常,除了表單載入和流程圖顯示的功能。實在想不到會有什麼原因可以導致這麼詭異的異常出現,畢竟整個系統只有2個功能不好用。

4號項目就正式使用了,時間很緊迫啊。為了減少作業系統差異的可能性,我們也把Linux重裝了Windows,發現問題仍然存在,這樣就更確定也不是作業系統的原因導致出現異常,但是依然找不到具體原因。

幾乎絕望了,給項目負責人打了電話說了緊急情況,到時候客戶要是追究好提前有個準備,雙機Linux環境不能上線使用了,畢竟也算是一次意外事故吧。

晚上,項目組吃過飯說要去看二人轉,我突然有了一種預感覺得可以找到解決問題的辦法。於是半路抄小道溜回去加班了,不一會兒就找到了問題所在。

原因是由於Oracle的ojdbc14.jar檔案不一致,正式環境的jar檔案也是ojdbc14.jar,但是比測試環境的檔案要小一些,只有1.14M。正式環境是使用其他的伺服器遠程搭建好的,Oracle的jar包也是用的遠程伺服器的,其他項目也用的是那個jar包,的確很難想到資料庫驅動包會出問題,畢竟系統那麼多功能就2個不能用。

還好,總算找到問題的原因了。找到原因之後,我就將ojdbc14.jar檔案重新發布到正式環境測試,最後問題順利得到解決。雖然花了兩天時間,找到原因也總算沒白忙活。

 

小      結:有時候,解決問題也需要一些靈感,可能就在那一刹那間。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.