我想在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启动失败。
请告诉我哪里出错了。
答案 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>