You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

构建时从WAR或JAR向OpenEJB excludeList添加JAR排除规则

给WAR或Fat JAR配置TomEE/OpenEJB排除Bean部署的方法

方案1:在WAR里配置(推荐)

不用修改全局的conf/exclusion.list,直接在WAR的WEB-INF目录下新建openejb-jar.xml文件,内容如下:

<openejb-jar xmlns="http://www.openejb.org/xml/ns/openejb-jar">
    <assembly-descriptor>
        <exclude-list>
            <!-- 填写你的Fat JAR文件名,支持通配符比如`*-lib.jar` -->
            <jar>your-fat-library.jar</jar>
        </exclude-list>
    </assembly-descriptor>
</openejb-jar>

要是不想单独创建文件,也可以把这段配置直接嵌入到web.xml中,记得添加openejb的命名空间:

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:openejb="http://www.openejb.org/xml/ns/openejb-jar"
         version="4.0">
    <!-- 你的其他web.xml配置内容 -->
    
    <openejb-jar>
        <assembly-descriptor>
            <exclude-list>
                <jar>your-fat-library.jar</jar>
            </exclude-list>
        </assembly-descriptor>
    </openejb-jar>
</web-app>

方案2:直接在Fat JAR内部标记

如果想让这个Fat JAR走到哪都自动被排除部署,就在它的META-INF目录下创建openejb-jar.xml文件,内容更简洁:

<openejb-jar xmlns="http://www.openejb.org/xml/ns/openejb-jar">
    <assembly-descriptor>
        <exclude-list>
            <!-- 用`.`代表当前这个JAR本身 -->
            <jar>.</jar>
        </exclude-list>
    </assembly-descriptor>
</openejb-jar>

这样TomEE扫描到这个JAR时,会自动跳过里面所有Bean的部署,完全不用额外配置WAR或服务器。

额外说明

  • 两种方案都能把排除规则和WAR/JAR绑定,避免在每个部署的服务器上重复修改全局配置。
  • <jar>标签支持精确文件名和通配符,比如有多个同类型库JAR时,用*匹配即可。
  • 优先推荐单独创建openejb-jar.xml的方式,比嵌入web.xml更清晰,也符合TomEE的配置习惯。

内容的提问来源于stack exchange,提问作者Cameron Sours

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 04:56:14