何时以及为何需要 Jboss 部署结构.xml用于 Spring 应用程序?

2022-09-01 10:50:04

我试图了解如何将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文件就有可能生活?


答案 1

只要您的应用程序没有任何类加载问题,您就不需要 jboss 部署结构.xml文件。但是,一旦你遇到jboss部署结构中的依赖关系管理的麻烦.xml将成为你的朋友。

文章模块化Java与JBoss模块很好地解释了哪些模块非常好。

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


答案 2

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

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

资料来源:http://middlewaremagic.com/


推荐