1

JBoss にデプロイしたときに Eclipse が生成した war ファイルに問題があります。Eclipse で JBoss 5.1.0 のインスタンスを構成し、Eclipse を JBoss にデプロイしました。起動すると、JBosss は zip ファイルを読み取れないと文句を言います (他に何も教えてくれないので、war ファイルだと思います)。エラーは次のようになります。

13:27:08,824 エラー [ProfileDeployAction] デプロイメントの追加に失敗しました: test.war
org.jboss.deployers.spi.DeploymentException: 構造を決定する際のエラー: test.war
    org.jboss.deployers.spi.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:49) で
    org.jboss.web.deployers.WARStructure.determineStructure(WARStructure.java:248) で
    org.jboss.deployers.vfs.plugins.structure.StructureDeployerWrapper.determineStructure(StructureDeployerWrapper.java:73) で
    org.jboss.deployers.vfs.plugins.structure.VFSStructuralDeployersImpl.doDetermineStructure(VFSStructuralDeployersImpl.java:196) で
    org.jboss.deployers.vfs.plugins.structure.VFSStructuralDeployersImpl.determineStructure(VFSStructuralDeployersImpl.java:221) で
    org.jboss.deployers.structure.spi.helpers.AbstractStructuralDeployers.determineStructure(AbstractStructuralDeployers.java:77) で
    org.jboss.deployers.plugins.main.MainDeployerImpl.determineStructure(MainDeployerImpl.java:1004) で
    org.jboss.deployers.plugins.main.MainDeployerImpl.determineDeploymentContext(MainDeployerImpl.java:440) で
    org.jboss.deployers.plugins.main.MainDeployerImpl.addDeployment(MainDeployerImpl.java:390) で
    org.jboss.deployers.plugins.main.MainDeployerImpl.addDeployment(MainDeployerImpl.java:300) で
    org.jboss.system.server.profileservice.repository.MainDeployerAdapter.addDeployment(MainDeployerAdapter.java:86) で
    org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:61) で
    org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53) で
    org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:361) で
    org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348) で
    org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631) で
    org.jboss.dependency.plugins.AbstractController.incrementState (AbstractController.java:934) で
    org.jboss.dependency.plugins.AbstractController.resolveContexts (AbstractController.java:1082) で
    org.jboss.dependency.plugins.AbstractController.resolveContexts (AbstractController.java:984) で
    org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822) で
    org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553) で
    org.jboss.system.server.profileservice.repository.AbstractProfileService.activateProfile(AbstractProfileService.java:306) で
    org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:271) で
    org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461) で
    org.jboss.Main.boot(Main.java:221) で
    org.jboss.Main$1.run(Main.java:556) で
    java.lang.Thread.run(Thread.java:662) で
原因: java.lang.RuntimeException: java.util.zip.ZipException: zip ファイルを開く際のエラー
    org.jboss.virtual.plugins.context.AbstractExceptionHandler.handleZipEntriesInitException (AbstractExceptionHandler.java:39) で
    org.jboss.virtual.plugins.context.helpers.NamesExceptionHandler.handleZipEntriesInitException (NamesExceptionHandler.java:63) で
    org.jboss.virtual.plugins.context.zip.ZipEntryContext.ensureEntries (ZipEntryContext.java:626) で
    org.jboss.virtual.plugins.context.zip.ZipEntryContext.checkIfModified(ZipEntryContext.java:773) で
    org.jboss.virtual.plugins.context.zip.ZipEntryContext.getChild(ZipEntryContext.java:817) で
    org.jboss.virtual.plugins.context.zip.ZipEntryHandler.createChildHandler(ZipEntryHandler.java:191) で
    org.jboss.virtual.plugins.context.AbstractVirtualFileHandler.structuredFindChild (AbstractVirtualFileHandler.java:684) で
    org.jboss.virtual.plugins.context.zip.ZipEntryHandler.getChild(ZipEntryHandler.java:165) で
    org.jboss.virtual.plugins.context.DelegatingHandler.getChild(DelegatingHandler.java:107) で
    org.jboss.virtual.plugins.context.AbstractVirtualFileHandler.structuredFindChild(AbstractVirtualFileHandler.java:689) で
    org.jboss.virtual.plugins.context.zip.ZipEntryHandler.getChild(ZipEntryHandler.java:165) で
    org.jboss.virtual.plugins.context.DelegatingHandler.getChild(DelegatingHandler.java:107) で
    org.jboss.virtual.VirtualFile.getChild(VirtualFile.java:481) で
    org.jboss.deployers.vfs.spi.structure.helpers.AbstractStructureDeployer.applyMetadataPaths (AbstractStructureDeployer.java:481) で
    org.jboss.deployers.vfs.spi.structure.helpers.AbstractStructureDeployer.createContext(AbstractStructureDeployer.java:455) で
    org.jboss.web.deployers.WARStructure.determineStructure(WARStructure.java:204) で
    ... 25以上
原因: java.util.zip.ZipException: zip ファイルを開く際のエラー
    java.util.zip.ZipFile.open(ネイティブメソッド)
    java.util.zip.ZipFile.(ZipFile.java:127) で
    java.util.zip.ZipFile.(ZipFile.java:143) で
    org.jboss.virtual.plugins.context.zip.ZipFileWrapper.ensureZipFile(ZipFileWrapper.java:175) で
    org.jboss.virtual.plugins.context.zip.ZipFileWrapper.acquire(ZipFileWrapper.java:245) で
    org.jboss.virtual.plugins.context.zip.ZipEntryContext.initEntries(ZipEntryContext.java:484) で
    org.jboss.virtual.plugins.context.zip.ZipEntryContext.ensureEntries (ZipEntryContext.java:619) で
    ... 38以上

war ファイルを調べたところ、問題ないように見えました。驚くべきことに、war ファイルを抽出してそのコンテンツを 7zip で圧縮すると、JBoss は正常に起動します。JBoss が読み取れない war ファイルを Eclipse が作成する方法について、私は困惑しています。同じ war ファイルが Tomcat で正常に動作します。

誰もこれを見たことがありますか?どうすればこれを修正できますか?

4

3 に答える 3

1

そのため、デバッグ後、ライブラリの jar ファイルの 1 つがサイズ 0 であることがわかりました。jar のサイズがゼロのプロジェクトは空であり、Eclipse は (何らかの理由で) サイズがゼロの jar ファイルを生成しました。以前はどのような組み合わせで war ファイルを jboss にデプロイできたのかわかりませんが、これが間違いなく主な問題でした。

于 2013-01-02T19:38:34.893 に答える
0

別のSOの記事で指摘されているように、考えられる問題の1つは、JVMが書き込みできない一時ディレクトリに解凍しようとしていることです。解凍しようとしている場所を特定してください。

于 2013-01-02T19:02:02.830 に答える
0

あなたのweb.xmlファイルの問題かもしれません.私も同じ種類の問題に直面しています.多くの異なる試みの後、web.xmlとweb-app 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">
于 2013-09-03T07:25:56.370 に答える