31

我试图了解如何将 JBoss EAP6 与 Spring 应用程序一起使用。我有一个示例 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文件能活吗?

4

2 回答 2

37

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

文章Modularized Java with JBoss Modules解释了哪些模块非常好。

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

于 2013-01-29T14:39:41.267 回答
4

这是我在网上找到的:

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

来源: http: //middlewaremagic.com/

于 2016-12-29T10:31:26.847 回答