什么时候以及为什么在Spring应用程序中需要使用jboss-deployment-structure.xml文件?

33

我正在尝试了解如何在Spring应用程序中使用JBoss EAP6。 我有一个OpenShift示例应用程序,其中包含一个jboss-deployment-structure.xml文件。

我找到了一些关于这个文件的文档,但我不清楚为什么和什么时候应该在Spring应用程序中使用这些文件。 内容如下:

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
   <deployment>
       <dependencies>
            <module name="com.h2database.h2"/>
            <module name="org.codehaus.jackson.jackson-core-asl"/>
            <module name="org.codehaus.jackson.jackson-mapper-asl"/>
            <module name="org.slf4j"/>
       </dependencies>
   </deployment>
</jboss-deployment-structure>

为什么需要声明模块依赖关系?在 JBoss 模式中,模块是什么?没有这个 xml 文件是否可能存活?

2个回答

39
只要您的应用程序没有类加载问题,就不需要 jboss-deployment-structure.xml 文件。但是一旦出现这种问题,jboss-deployment-structure.xml 中的依赖项管理将成为您的好帮手。
文章使用 JBoss 模块实现模块化 Java 很好地解释了什么是模块。
简单来说,部署为 WAR、JAR 或 EAR 的所有内容都是一个模块。这些模块被称为动态模块。除它们之外,在 $JBOSS_HOME/modules 中还有静态模块。唯一的区别在于它们的打包方式。

4
这是我在互联网上找到的内容:
为了避免使用JBoss提供的日志API,我们需要将以下类型的“jboss-deployment-structure.xml”文件放置在“/home/userone/ApplicationLevelLog4jDemo/src”内,以便我们可以排除应用程序中的JBoss日志API,并使我们的应用程序可以使用其自己版本的日志API。
来源:http://middlewaremagic.com/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接