2013-01-02 26 views
1

我在部署到JBoss時遇到了Eclipse生成的war文件問題。我在Eclipse中配置了一個JBoss 5.1.0實例,並將Eclipse部署到JBoss。 JBosss在啓動時抱怨它無法讀取zip文件(我認爲這是war文件,因爲它不會告訴我任何其他內容)。該錯誤是這樣的:在JBoss中Eclipse生成的war文件無效

 
13:27:08,824 ERROR [ProfileDeployAction] Failed to add deployment: test.war 
org.jboss.deployers.spi.DeploymentException: Error determining structure: test.war 
    at org.jboss.deployers.spi.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:49) 
    at org.jboss.web.deployers.WARStructure.determineStructure(WARStructure.java:248) 
    at org.jboss.deployers.vfs.plugins.structure.StructureDeployerWrapper.determineStructure(StructureDeployerWrapper.java:73) 
    at org.jboss.deployers.vfs.plugins.structure.VFSStructuralDeployersImpl.doDetermineStructure(VFSStructuralDeployersImpl.java:196) 
    at org.jboss.deployers.vfs.plugins.structure.VFSStructuralDeployersImpl.determineStructure(VFSStructuralDeployersImpl.java:221) 
    at org.jboss.deployers.structure.spi.helpers.AbstractStructuralDeployers.determineStructure(AbstractStructuralDeployers.java:77) 
    at org.jboss.deployers.plugins.main.MainDeployerImpl.determineStructure(MainDeployerImpl.java:1004) 
    at org.jboss.deployers.plugins.main.MainDeployerImpl.determineDeploymentContext(MainDeployerImpl.java:440) 
    at org.jboss.deployers.plugins.main.MainDeployerImpl.addDeployment(MainDeployerImpl.java:390) 
    at org.jboss.deployers.plugins.main.MainDeployerImpl.addDeployment(MainDeployerImpl.java:300) 
    at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.addDeployment(MainDeployerAdapter.java:86) 
    at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:61) 
    at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53) 
    at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:361) 
    at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348) 
    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631) 
    at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934) 
    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082) 
    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984) 
    at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822) 
    at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553) 
    at org.jboss.system.server.profileservice.repository.AbstractProfileService.activateProfile(AbstractProfileService.java:306) 
    at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:271) 
    at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461) 
    at org.jboss.Main.boot(Main.java:221) 
    at org.jboss.Main$1.run(Main.java:556) 
    at java.lang.Thread.run(Thread.java:662) 
Caused by: java.lang.RuntimeException: java.util.zip.ZipException: error in opening zip file 
    at org.jboss.virtual.plugins.context.AbstractExceptionHandler.handleZipEntriesInitException(AbstractExceptionHandler.java:39) 
    at org.jboss.virtual.plugins.context.helpers.NamesExceptionHandler.handleZipEntriesInitException(NamesExceptionHandler.java:63) 
    at org.jboss.virtual.plugins.context.zip.ZipEntryContext.ensureEntries(ZipEntryContext.java:626) 
    at org.jboss.virtual.plugins.context.zip.ZipEntryContext.checkIfModified(ZipEntryContext.java:773) 
    at org.jboss.virtual.plugins.context.zip.ZipEntryContext.getChild(ZipEntryContext.java:817) 
    at org.jboss.virtual.plugins.context.zip.ZipEntryHandler.createChildHandler(ZipEntryHandler.java:191) 
    at org.jboss.virtual.plugins.context.AbstractVirtualFileHandler.structuredFindChild(AbstractVirtualFileHandler.java:684) 
    at org.jboss.virtual.plugins.context.zip.ZipEntryHandler.getChild(ZipEntryHandler.java:165) 
    at org.jboss.virtual.plugins.context.DelegatingHandler.getChild(DelegatingHandler.java:107) 
    at org.jboss.virtual.plugins.context.AbstractVirtualFileHandler.structuredFindChild(AbstractVirtualFileHandler.java:689) 
    at org.jboss.virtual.plugins.context.zip.ZipEntryHandler.getChild(ZipEntryHandler.java:165) 
    at org.jboss.virtual.plugins.context.DelegatingHandler.getChild(DelegatingHandler.java:107) 
    at org.jboss.virtual.VirtualFile.getChild(VirtualFile.java:481) 
    at org.jboss.deployers.vfs.spi.structure.helpers.AbstractStructureDeployer.applyMetadataPaths(AbstractStructureDeployer.java:481) 
    at org.jboss.deployers.vfs.spi.structure.helpers.AbstractStructureDeployer.createContext(AbstractStructureDeployer.java:455) 
    at org.jboss.web.deployers.WARStructure.determineStructure(WARStructure.java:204) 
    ... 25 more 
Caused by: java.util.zip.ZipException: error in opening zip file 
    at java.util.zip.ZipFile.open(Native Method) 
    at java.util.zip.ZipFile.(ZipFile.java:127) 
    at java.util.zip.ZipFile.(ZipFile.java:143) 
    at org.jboss.virtual.plugins.context.zip.ZipFileWrapper.ensureZipFile(ZipFileWrapper.java:175) 
    at org.jboss.virtual.plugins.context.zip.ZipFileWrapper.acquire(ZipFileWrapper.java:245) 
    at org.jboss.virtual.plugins.context.zip.ZipEntryContext.initEntries(ZipEntryContext.java:484) 
    at org.jboss.virtual.plugins.context.zip.ZipEntryContext.ensureEntries(ZipEntryContext.java:619) 
    ... 38 more 

我已對戰爭文件,它看起來不錯,令人驚訝,如果我解壓war文件和zip它與7zip的內容時,JBoss啓動正常。我對Eclipse如何創建一個JBoss無法讀取的war文件感到困惑。同樣的war文件可以和Tomcat一起工作。

有沒有人見過這個?我怎樣才能解決這個問題?

+0

我想知道JDK Eclipse使用的是什麼版本,而不是JBoss使用的版本。看起來你需要確定你正在處理的是什麼版本的java.util.zip。*。 – davidfmatheson

+0

JDK版本是1.6.0_34 – Farzad

回答

1

所以調試後,我想出了一個庫jar文件有一個零大小。 jar爲零的項目是空的,eclipse爲它創建了一個零大小的jar文件(無論什麼原因)。我不知道我可以在什麼組合中將戰爭文件部署到jboss,但這絕對是主要問題。

0

正如另一個SO article中指出的那樣,一個可能的問題是JVM試圖解壓縮到無法寫入的臨時目錄。嘗試確定它試圖解壓到的位置。

0

可能是其web.xml文件的問題,我也面臨着同樣的問題,那很多不同的嘗試後,我正要下山的路討論了web.xml和另一篇文章基於web應用程序3.0。這讓我想到了,並檢出了我的web.xml。果然,下面一行就在那裏。

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> 

我轉換到2.5 web-app規範。 WAR和EAR都不會部署。

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">