当前位置: 首页 > 面试题库 >

WAS 7的异常java.util.zip.ZipFile.ensureOpenOrZipException

韩淇
2023-03-14
问题内容

当我在上部署应用程序时WebSphere Application Server 7.0,我遇到了异常,它花费了太多时间进行部署。经过几次部署后,服务器开始生成堆转储并耗尽内存。在我们的应用程序中,我们JAX- WS用于生成Web服务客户端。我们也JSF 1.2用于查看。任何建议表示赞赏。

000000ff annotations   E ClassScanner scanInputStream Exception occurred while scanning input stream:{0}
                                 java.util.zip.ZipException: ZipFile closed
    at java.util.zip.ZipFile.ensureOpenOrZipException(ZipFile.java:424)
    at java.util.zip.ZipFile.access$1100(ZipFile.java:40)
    at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:456)
    at java.util.zip.ZipFile$1.fill(ZipFile.java:241)
    at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:152)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:229)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:269)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:328)
    at java.io.FilterInputStream.read(FilterInputStream.java:127)
    at java.io.PushbackInputStream.read(PushbackInputStream.java:180)
    at java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:232)
    at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:152)
    at java.util.zip.ZipInputStream.read(ZipInputStream.java:157)
    at java.io.FilterInputStream.read(FilterInputStream.java:127)
    at org.objectweb.asm.ClassReader.a(Unknown Source)
    at org.objectweb.asm.ClassReader.<init>(Unknown Source)
    at com.ibm.ws.amm.scan.util.ClassScanner.scanInputStream(ClassScanner.java:231)
    at com.ibm.ws.amm.AnnotativeMetadataManagerImpl$1.applyTo(AnnotativeMetadataManagerImpl.java:259)
    at com.ibm.wsspi.amm.scan.context.ArchiveInputStreamData.iterate(ArchiveInputStreamData.java:241)
    at com.ibm.ws.amm.AnnotativeMetadataManagerImpl.scan(AnnotativeMetadataManagerImpl.java:257)
    at com.ibm.ws.amm.AnnotativeMetadataManagerImpl.scan(AnnotativeMetadataManagerImpl.java:218)
    at com.ibm.ws.amm.commonarchive.AnnotationsProcessorImpl.merge(AnnotationsProcessorImpl.java:108)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl.processAnnotations(WARFileImpl.java:297)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl.getDeploymentDescriptor(WARFileImpl.java:243)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl.getDeploymentDescriptor(WARFileImpl.java:173)
    at com.ibm.etools.commonarchive.impl.WARFileImpl.getExtensions(WARFileImpl.java:440)
    at com.ibm.etools.commonarchive.impl.WARFileImpl.getContextRoot(WARFileImpl.java:736)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.Ear50NoDDImportStrategyImpl.loadDeploymentDescriptor(Ear50NoDDImportStrategyImpl.java:388)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.Ear50NoDDImportStrategyImpl.importMetaData(Ear50NoDDImportStrategyImpl.java:253)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.EARFileImpl.getDeploymentDescriptor(EARFileImpl.java:377)
    at com.ibm.etools.commonarchive.impl.EARFileImpl.initializeModuleExtensions(EARFileImpl.java:641)
    at com.ibm.etools.commonarchive.impl.EARFileImpl.initializeAfterOpen(EARFileImpl.java:720)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchiveFactoryImpl.openSpecificArchive(CommonarchiveFactoryImpl.java:1517)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchiveFactoryImpl.openEARFile(CommonarchiveFactoryImpl.java:1205)
    at com.ibm.etools.commonarchive.impl.CommonarchiveFactoryImpl.openEARFile(CommonarchiveFactoryImpl.java:552)
    at com.ibm.ws.management.application.client.AppInstallHelper.getArchive(AppInstallHelper.java:271)
    at com.ibm.ws.management.application.client.AppInstallHelper.getEarFile(AppInstallHelper.java:157)
    at com.ibm.ws.webservices.admin.utils.CommonUtils.getMergeEar(CommonUtils.java:450)
    at com.ibm.ws.webservices.admin.deploy.ServiceIndexServerTask.performTask(ServiceIndexServerTask.java:126)
    at com.ibm.ws.management.application.SchedulerImpl.run(SchedulerImpl.java:284)
    at java.lang.Thread.run(Thread.java:735)

[9/13/12 12:00:44:138 IST] 000000ff annotations   E ArchiveInputStreamData iterate unable to open file iterator
                                 java.util.zip.ZipException: ZipFile closed
    at java.util.zip.ZipFile.ensureOpenOrZipException(ZipFile.java:424)
    at java.util.zip.ZipFile.access$1100(ZipFile.java:40)
    at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:456)
    at java.util.zip.ZipFile$1.fill(ZipFile.java:241)
    at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:152)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:229)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:269)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:328)
    at java.io.FilterInputStream.read(FilterInputStream.java:127)
    at java.io.PushbackInputStream.read(PushbackInputStream.java:180)
    at java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:232)
    at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:152)
    at java.util.zip.ZipInputStream.read(ZipInputStream.java:157)
    at java.util.zip.ZipInputStream.closeEntry(ZipInputStream.java:103)
    at java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:81)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.NestedArchiveIteratorDirect.getInputStream(NestedArchiveIteratorDirect.java:117)
    at com.ibm.wsspi.amm.scan.context.ArchiveInputStreamData.iterate(ArchiveInputStreamData.java:238)
    at com.ibm.ws.amm.AnnotativeMetadataManagerImpl.scan(AnnotativeMetadataManagerImpl.java:257)
    at com.ibm.ws.amm.AnnotativeMetadataManagerImpl.scan(AnnotativeMetadataManagerImpl.java:218)
    at com.ibm.ws.amm.commonarchive.AnnotationsProcessorImpl.merge(AnnotationsProcessorImpl.java:108)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl.processAnnotations(WARFileImpl.java:297)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl.getDeploymentDescriptor(WARFileImpl.java:243)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl.getDeploymentDescriptor(WARFileImpl.java:173)
    at com.ibm.etools.commonarchive.impl.WARFileImpl.getExtensions(WARFileImpl.java:440)
    at com.ibm.etools.commonarchive.impl.WARFileImpl.getContextRoot(WARFileImpl.java:736)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.Ear50NoDDImportStrategyImpl.loadDeploymentDescriptor(Ear50NoDDImportStrategyImpl.java:388)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.Ear50NoDDImportStrategyImpl.importMetaData(Ear50NoDDImportStrategyImpl.java:253)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.EARFileImpl.getDeploymentDescriptor(EARFileImpl.java:377)
    at com.ibm.etools.commonarchive.impl.EARFileImpl.initializeModuleExtensions(EARFileImpl.java:641)
    at com.ibm.etools.commonarchive.impl.EARFileImpl.initializeAfterOpen(EARFileImpl.java:720)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchiveFactoryImpl.openSpecificArchive(CommonarchiveFactoryImpl.java:1517)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchiveFactoryImpl.openEARFile(CommonarchiveFactoryImpl.java:1205)
    at com.ibm.etools.commonarchive.impl.CommonarchiveFactoryImpl.openEARFile(CommonarchiveFactoryImpl.java:552)
    at com.ibm.ws.management.application.client.AppInstallHelper.getArchive(AppInstallHelper.java:271)
    at com.ibm.ws.management.application.client.AppInstallHelper.getEarFile(AppInstallHelper.java:157)
    at com.ibm.ws.webservices.admin.utils.CommonUtils.getMergeEar(CommonUtils.java:450)
    at com.ibm.ws.webservices.admin.deploy.ServiceIndexServerTask.performTask(ServiceIndexServerTask.java:126)
    at com.ibm.ws.management.application.SchedulerImpl.run(SchedulerImpl.java:284)
    at java.lang.Thread.run(Thread.java:735)

问题答案:

是的

经过长时间的研发,终于找到了解决方案:)

下面的链接包含有用的信息。

http://www-01.ibm.com/support/docview.wss?uid=swg1PK85322

我们所做的只是将应用程序的模块级别更改为2.4,并将wsdl文件夹放置在WebContent下。主要问题是由于在部署时对应用程序进行了注释处理。模块元数据的部署过程需要一个新步骤,以从模块中打包的类中扫描Java批注数据。当我们使用JAX-
WS作为WebServices的客户端时,它包括注释处理。JAX-
WS批注的处理需要读取wsdl文件才能为每个部署生成更新客户端。在读取wsdl的过程中,它最初位于WEB-
INF文件夹中时遇到了问题。我只是更改了wsdl的位置及其正常工作。




 类似资料:
  • 我在WAS 8.0上部署了一个JAX-RS WS应用程序,其中包含一个空的2.4web.xml,这个类扩展了'javax.WS.rs.core.application'和2个资源,它工作得很好。 如何在WAS7.0上部署JAX-RS应用程序而不使用Jersey或任何其他与应用程序服务器相关的类? 谢谢

  • 应用程序通常会通过抛出另一个异常来响应异常。 实际上,第一个异常引起第二个异常。 它可以是非常有助于用户知道什么时候一个异常导致另一个异常。 “异常链(Chained Exceptions)”帮助程序员做到这一点。 以下是Throwable中支持异常链的方法和构造函数。 Throwable getCause() Throwable initCause(Throwable) Throwable(St

  • WAS版本:-7.0.0.35(64位)OS-Redhat Enterprise Linux 5.8x86_64 WebSphere MQ:-7.5 注意:-MQ和WAS服务器安装在不同的机器上。传输类型TCP is用于MQ。 WAS配置:服务器级别的Classloader策略是::Single Class loading模式是::Classes首先用父类loader加载。 应用程序级别的Clas

  • 你可以使用raise语句 引发 异常。你还得指明错误/异常的名称和伴随异常 触发的 异常对象。你可以引发的错误或异常应该分别是一个Error或Exception类的直接或间接导出类。 如何引发异常 例13.2 如何引发异常 #!/usr/bin/python # Filename: raising.py classShortInputException(Exception):     '''A u

  • 我在Google Play崩溃日志中看到了崩溃,这真的让我很困惑。 问题是,主要活动的102行没有什么特别的 什么会导致这种情况?为什么oncreate没有抛出这样的方法?它发生在一些用户的设备上,我无法重现它。

  • 问题内容: 异常存储在哪里?堆,堆。如何为异常分配和释放内存?现在,如果您有多个需要处理的异常,是否创建了所有这些异常的对象? 问题答案: 我假设为异常分配的内存分配方式与所有其他对象(在堆上)分配方式相同。 这曾经是个问题,因为您不能为OutOfMemoryError分配内存,这就是直到Java 1.6之前 才没有堆栈跟踪的原因。现在,它们也为stacktrace预分配了空间。 如果您想知道在抛

  • 因为Java编程语言不需要捕获方法或声明未检查异常(包括 RuntimeException、Error及其子类),程序员可能会试图编写只抛出未检查异常的代码,或使所有异常子类继承自RuntimeException。这两个快捷方式都允许程序员编写代码,而不必担心编译器错误,也不用担心声明或捕获任何异常。虽然这对于程序员似乎很方便,但它避开了捕获或者声明异常的需求,并且可能会导致其他人在使用您的类而产

  • 当面对选择抛出异常的类型时,您可以使用由别人编写的异常 - Java平台提供了许多可以使用的异常类 - 或者您可以编写自己的异常类。 如果您对任何以下问题回答“是”,您应该编写自己的异常类;否则,你可以使用别人的。 你需要一个Java平台中没有表示的异常类型吗? 如果用户能够区分你的异常与由其他供应商编写的类抛出的异常吗? 你的代码是否抛出不止一个相关的异常? 如果您使用他人的例外,用户是否可以访