无法处理部署的阶段结构

时间:2014-02-21 17:09:58

标签: java eclipse java-ee jboss

我读过其他主题,但我无法弄清楚这一点。我有一个使用log4j的EJB模块。我想将该EJB打包到JAR文件中并放入Web项目的WEB-INF / lib路径中。 Web项目有一个servlet,它从EJB执行一个函数,就是这样。但似乎appender不起作用,因为文件已创建但未写入。

我读到了JBoss的部署描述符,所以我根据之前的帖子创建了一个。但是我得到了“无法处理部署的阶段结构”错误。

  

12:04:44,905 ERROR [org.jboss.msc.service.fail](MSC服务线程1-2)MSC00001:无法启动服务jboss.deployment.unit。“SampleWeb.war”.STRUCTURE:org。服务jboss.deployment.unit中的jboss.msc.service.StartException。“SampleWeb.war”.STRUCTURE:无法处理部署“SampleWeb.war”的阶段结构       在org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119)[jboss-as-server-7.1.1.Final.jar:7.1.1.Final]       at org.jboss.msc.service.ServiceControllerImpl $ StartTask.startService(ServiceControllerImpl.java:1811)[jboss-msc-1.0.2.GA.jar:1.0.2.GA]       at org.jboss.msc.service.ServiceControllerImpl $ StartTask.run(ServiceControllerImpl.java:1746)[jboss-msc-1.0.2.GA.jar:1.0.2.GA]       at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)[rt.jar:1.7.0_21]       at java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source)[rt.jar:1.7.0_21]       在java.lang.Thread.run(未知来源)[rt.jar:1.7.0_21]   引起:org.jboss.as.server.deployment.DeploymentUnitProcessingException:找不到jboss-structure.xml中的子部署SampleEJB.jar。可用的子部署:       在org.jboss.as.server.deployment.module.descriptor.DeploymentStructureDescriptorParser.subDeploymentNotFound(DeploymentStructureDescriptorParser.java:233)[jboss-as-server-7.1.1.Final.jar:7.1.1.Final]       在org.jboss.as.server.deployment.module.descriptor.DeploymentStructureDescriptorParser.deploy(DeploymentStructureDescriptorParser.java:159)[jboss-as-server-7.1.1.Final.jar:7.1.1.Final]       在org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113)[jboss-as-server-7.1.1.Final.jar:7.1.1.Final]       ......还有5个

这是我创建的jboss-deployment-structure.xml。因为web项目只使用我创建的EJB jar文件,所以我假设不使用部署标记。

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<sub-deployment name="SampleEJB.jar">
    <exclusions>
        <module name="org.apache.log4j"/>
        <module name="org.slf4j" />
        <module name="org.apache.commons.logging"/>
        <module name="org.log4j"/>  
        <module name="org.jboss.logging"/>
    </exclusions>
</sub-deployment>
 </jboss-deployment-structure>

顺便说一下,我正在使用JBoss 7.1.1。

2 个答案:

答案 0 :(得分:2)

看起来像是日食问题,可能发生在耳朵的依赖项目不正确时。

在我的情况下,我得到了相同的错误,原因是耳朵无法找到一个包含的依赖jar。 只需检查该依赖项目并检查它是构建项目后maven创建jar的目标目录。如果maven没有正确构建该项目,它将是空的。 通过“mvn install”单独构建依赖项目,然后尝试在服务器上部署ear。 它对我有用。

答案 1 :(得分:1)

org.jboss.as.server.deployment.DeploymentUnitProcessingException:未找到jboss-structure.xml 中的子部署SampleEJB.jar。

似乎尚未部署SampleEJB.jar。创建deployment structure file以按顺序部署组件。