JBoss中没有加载Common Jars

时间:2014-04-15 13:06:24

标签: java-ee jboss

我想在JBoss 7.1中添加一个常见的jar。

我创建了一个像这样的目录 ../ jboss-as-7.1.0.Final/modules/writer/writer/main

在主目录中我创建了module.xml。这是module.xml里面的内容

    <?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="writer.writer">
    <resources> 
        <resource-root path="writer.jar"/> 
    </resources>
</module>  

然后是 ../ jboss-as-7.1.0.Final/standalone/configuration 中的standalone.xml 我这样写了

<subsystem xmlns="urn:jboss:module:1.1">         
        <module name="writer.writer" />         
</subsystem>  

但是JBoss无法加载它,并且jboss启动失败。

请告诉我哪里出错了。

1 个答案:

答案 0 :(得分:1)

假设您已将jar放在../jboss_home_dir/modules/writer/writer/main下,并且您的module.xml看起来像:

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="writer.writer">
<resources> 
    <resource-root path="writer.jar"/> 
</resources>
</module> 

现在您可以将模块作为全局模块引用或使用jboss-deployment-structure.xml

用作全局模块(我假设您正在尝试实现): 在子系统xmlns =“urn:jboss:domain:ee:1.0”下定义您的standalone.xml,如下所示:

<subsystem xmlns="urn:jboss:domain:ee:1.0" >            
  <global-modules>
   <module name="writer.writer" slot="main" />            
  </global-modules> 
</subsystem>

或者使用可用于控制类加载的JBoss特定部署描述符jboss-deployment-structure.xml。它应该放在META-INF(或Web部署的WEB-INF)的顶级部署中。

下面的示例jboss-deployment-structure.xml,您可以在其中控制每个子deplement类加载,提供很大的灵活性。

<jboss-deployment-structure>
   <sub-deployment name="mywarfile.war">
    <dependencies>
        <module name="writer.writer" />
    </dependencies>
  </sub-deployment>
</jboss-deployment-structure>