2016-02-26 215 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)和我重新启动它(这消除了问题)之间发生了变化。需要考虑的是另一位开发人员,他是此应用程序源代码的主要开发人员,从来没有遇到过这个问题,因此不能否认源代码中存在问题。 “在后台”还有一些其他内容正在通过“刷新”代码进行补救。

谢谢大家的帮助。