2016-02-26 205 views
0

在EAR安裝,讓NestedJarException: IWAE0008E An error occurred reading Intranet_PropertyService.jar from C:\IBM\SDP75\runtimes\base_v7\profiles\AppSrv01\wstemp\910481153\upload\...獲取NestedJarException:IWAE0008E錯誤發生在C閱讀Intranet_PropertyService.jar: IBM SDP75

我運行IBM RAD v7.5.5.5/WAS 7.我已經將我的項目加載到IDE /工作區。所有的項目都沒有問題展示。我將我的EAR添加到服務器。隨着服務器啓動,我嘗試訪問我的應用程序,並得到「webpage cannot be found」(又名錯誤404)。控制檯框架不顯示該請求的任何活動。所以我進入管理控制檯>應用程序>應用程序類型> Websphere企業應用程序並檢查EAR的狀態。它顯示爲'?'。所以我嘗試啓動它,它說'Start is not a valid operation for the「EAR。所以,我右鍵單擊服務器並從服務器上刪除EAR,然後返回到管理控制檯並嘗試安裝EAR。安裝過程中,我得到:

[2/26/16 6:33:52:558 PST] 0000002b SystemErr  R org.eclipse.jst.j2ee.commonarchivecore.internal.exception.NestedJarException: IWAE0008E An error occurred reading Intranet_PropertyService.jar from C:\IBM\SDP75\runtimes\base_v7\profiles\AppSrv01\wstemp\910481153\upload\RateToolEAR.ear 
Stack trace of nested exception: 
java.util.zip.ZipException: invalid entry CRC (expected 0xee027fb2 but got 0x55f10074) 
    at java.util.zip.ZipInputStream.read(ZipInputStream.java:190) 

這是一個試驗機,我卸載了重新安裝&的RAD/WAS應用W/O變化的結果。當我試圖安裝EAR文件有問題(通過。管理控制檯)來自一臺沒有這個問題的機器,所以EAR沒有被這臺測試機器的環境「污染」,那臺機器是主要的開發人員,並且每天都在創建這個應用程序的工作副本。我已經多次刪除工作空間並重新創建它/導入不改變結果的項目。

我能夠打開使用WinRAR W/O錯誤的EAR。我已經在互聯網上搜索了任何可能的解決方案,但是什麼都沒有提出。請,有沒有人有建議嘗試或實際解決方案?

回答

1

有兩種方法來讀取一個zip文件:

  1. 它讀成一個zip條目(ZipInputStream)
  2. 的「流」閱讀中央目錄,並用它來查找條目(ZipFile中,WinRAR的等)。

與中央目錄相比(或者甚至是條目之間的「垃圾」字節),可以構建包含條目流中不一致數據的「不規則」zip /檔案文件,這將導致第一種方法失敗。此類zip文件的有效性尚不清楚,但似乎WebSphere Application Server預計此方法可行。這可能被認爲是一個錯誤(或者至少是實現問題的質量),所以你可以用IBM打開一個PMR。或者,您可以通過手動解壓縮和重新壓縮存檔(可能是遞歸)來解決此問題。

+0

謝謝佈雷特。這聽起來像你在暗示我需要編寫一個不同的方法來讀取JAR和/或EAR(這與IDE的內置方法不同)。產生的錯誤來自RAD的IDE,而不是作爲此應用程序的一部分編寫的方法。 EAR包含爲應用程序編寫的其他項目以及「標準」開發JAR。您是否暗示這些標準JAR或生成的EAR中存在CRC問題?那怎麼可能,因爲使用從報告沒有EAR錯誤的機器導出的EAR完成了一個測試? – Mark

+0

需要更改的代碼是WebSphere Application Server的一部分。唯一想到嘗試的是重新壓縮檔案以避免「流」錯誤,即使可能沒有「中央目錄」錯誤。我不知道爲什麼這個問題只發生在一個環境中。也許全堆棧跟蹤與所有導致/嵌套異常(而不是單個ZipInputStream行)將有助於解釋這一點。 –

0

這個問題的答案是我需要重定義流(來自ClearCase存儲庫)。在我「初步」安裝源代碼視圖(來自ClearCase)和我重新啓動它(這消除了問題)之間發生了變化。需要考慮的是另一位開發人員,他是此應用程序源代碼的主要開發人員,從來沒有遇到過這個問題,因此不能否認源代碼中存在問題。 「在後臺」還有一些其他內容正在通過「刷新」代碼進行補救。

謝謝大家的幫助。