JBoss AS 7.1.1新的缺失/不满足的依赖项

时间:2012-10-30 21:50:43

标签: java jboss jboss7.x

我正在将一个EAR部署到JBoss AS 7.1.1,其结构如下:

GrahamsProj.EAR
    GrahamsProjClient.WAR
        app/GrahamsProjClient.jar
    GrahamsProjServer.EAR
        GrahamsProjServer.jar

每次部署EAR并启动JBoss时,我都会收到此错误:

JBAS014775:    New missing/unsatisfied dependencies:service jboss.deployment.unit."GrahamsProjServer.ear".PARSE (missing) dependents: [service jboss.deployment.subunit."GrahamsProjServer.ear"."GrahamsProjServer.jar".PARSE]

17:19:10,129 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) {"JBAS014653: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"JBAS014771: Services with missing/unavailable dependencies" => ["jboss.deployment.subunit.\"GrahamsProjServer.ear\".\"GrahamsProjServer.jar\".PARSEjboss.deployment.unit.\"GrahamsProjServer.ear\".PARSEMissing[jboss.deployment.subunit.\"GrahamsProjServer.ear\".\"GrahamsProjServer.jar\".PARSEjboss.deployment.unit.\"GrahamsProjServer.ear\".PARSE]"]}}}

正如您所看到的,错误是说我的服务器(GrahamsProjServer.ear)无法找到依赖项。

我通过谷歌搜索“新的缺失/不满意的依赖jboss为7”查找错误,我得到了广泛的答案。这两个常见的似乎是standalone.xml中的数据源问题,以及jboss-deployment-structure.xml的问题。

这是来自standalone.xml的数据源:

<datasources>
    <datasource jta="true" jndi-name="java:jboss/datasources/WorkCenterDS" pool-name="OracleDS" enabled="true" use-java-context="true" use-ccm="true">
        <connection-url>jdbc:oracle:thin:@MCOSRVORCL001:1521:support</connection-url>
        <driver>oracle</driver>
        <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
        <pool>
            <prefill>true</prefill>
            <use-strict-min>false</use-strict-min>
            <flush-strategy>FailingConnectionOnly</flush-strategy>
        </pool>
        <security>
            <user-name>grahamsproj</user-name>
            <password>airit</password>
        </security>
    </datasource>
    <drivers>
        <driver name="oracle" module="com.oracle.ojdbc14">
            <xa-datasource-class>oracle.jdbc.OracleDriver</xa-datasource-class>
        </driver>
    </drivers>
</datasources>

以下是我的WAR文件的WEB-INF文件夹中的jboss-deployment-structure.xml

<jboss-deployment-structure>
    <ear-subdeployments-isolated>false</ear-subdeployments-isolated>
    <deployment>
        <dependencies>
            <module name="GrahamsProjServer.GrahamsProjServer.jar"/>
        </dependencies>
    </deployment>
</jboss-deployment-structure>

如果我摆脱jboss-deployment-structure.xml,则会出现同样的错误。所以它似乎并没有什么不同。我的问题可能与这些事情中的任何一个都无关。有谁看到发生了什么?

这是服务器上的application.xml

<application>
    <display-name>GrahamsProj</display-name>
    <description>GrahamsProj</description>
        <application-name>GrahamsProjServer</application-name>
    <module>
        <ejb>GrahamsProjServer.jar</ejb>
    </module>
</application>

1 个答案:

答案 0 :(得分:2)

这种依赖看起来很虚伪。将其修复为

<jboss-deployment-structure>
    <ear-subdeployments-isolated>false</ear-subdeployments-isolated>  
</jboss-deployment-structure>

您要将依赖项添加到您自己的依赖项的子模块中。可能你想要实现那些模块看到彼此分别使用了ear-subdeployments-isolated标志。

这会导致一些不同的错误。在这里发布一个,所以我们可以找出其他可能是错误的。

有关AS7中的类加载以及jboss-deployment-structure.xml提供的所有选项的更多信息,请参阅https://docs.jboss.org/author/display/AS71/Class+Loading+in+AS7

鉴于您提供的application.xml,您缺少Web模块。只有jar模块。 但例外情况应该是不同的。 你也可以发布

的输出
jar tf <name-of-ear>

它会让我们看看您的应用结构。 如果您尝试使用最新的每晚构建,异常会发生什么变化? https://community.jboss.org/thread/167590