3.4. 防止一个模块被加载

您可以配置可部署应用,以防止加载隐式依赖项。当应用包含与应用服务器作为隐式依赖项提供的库或框架的不同版本时,这非常有用。

先决条件

将依赖项排除配置添加到 jboss-deployment-structure.xml

  1. 如果应用没有,请创建名为 jboss-deployment-structure.xml 的新文件,并将它添加到项目中。这是一个 XML 文件,它的根元素为 <jboss-deployment-structure>

    <jboss-deployment-structure>
    
    </jboss-deployment-structure>

    对于 Web 应用(WAR),将此文件添加到 WEB-INF/ 目录中。对于 Jakarta Enterprise Beans 存档(JAR),将其添加到 META-INF/ 目录中。

  2. 在文档根目录和 < exclusions> 元素内创建一个 <deployment > 元素。

    <deployment>
       <exclusions>
    
       </exclusions>
    </deployment>
  3. 在 excludes 元素中,为每个要排除的模块添加 <module> 元素。将 name 属性设置为模块的名称。

    <module name="org.javassist" />

    示例:扩展两个模块

    <jboss-deployment-structure>
       <deployment>
          <exclusions>
             <module name="org.javassist" />
             <module name="org.dom4j" />
          </exclusions>
       </deployment>
    </jboss-deployment-structure>