何时以及为什么我需要一个Spring应用程序的jboss-deployment-structure.xml?

时间:2013-01-29 11:36:21

标签: java spring web-deployment jboss-eap-6

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

我发现了一些关于这个文件的documentation,但我不清楚为什么以及何时应该将这些文件与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 个答案:

答案 0 :(得分:30)

只要您的应用程序没有任何类加载问题,就不需要jboss-deployment-structure.xml文件。但是一旦你遇到这种麻烦,jboss-deployment-structure.xml中的依赖管理就会成为你的朋友。

本文解释了modules的内容非常好。

我想简而言之,您可以说部署为WAR,JAR或EAR的所有内容都是模块。这些模块称为动态模块。除了它们之外,$ JBOSS_HOME / modules中还有静态模块。唯一的区别是它们的包装方式。

答案 1 :(得分:2)

这是我在互联网上找到的:

&#34;为了避免使用JBoss提供的日志API,我们需要在“/ home / userone / ApplicationLevelLog4jDemo / src”中放置以下类型的“jboss-deployment-structure.xml”文件,以便我们可以为我们的应用程序排除jboss日志API,我们的应用程序可以使用它自己的日志API版本。&#34;

来源:http://middlewaremagic.com/