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

如何配置Maven生成仅包含接口用到的依赖类的EJB客户端Jar?

关于WebLogic Maven appc插件生成精简EJB客户端Jar的配置说明

WebLogic提供的maven appc插件(集成在weblogic-maven-plugin中)完全支持你要的「仅打包EJB接口引用到的依赖类」需求,不需要结合maven-assembly-plugin使用,对应配置如下:

  • 核心控制参数为clientJarExcludeNonReferencedClasses,将该参数设为true后,appc生成客户端Jar时会自动过滤所有未被EJB公共接口(远程接口、业务接口等)直接/间接引用的类,不会引入全量依赖库
  • 可搭配clientJarIncludes、clientJarExcludes参数做自定义的类路径过滤,进一步控制客户端Jar的内容
  • 生成的客户端Jar会自动包含EJB接口定义、接口方法用到的参数/返回值/异常类、以及上述类的传递依赖类,没有被引用的第三方依赖类不会被打包

参考配置示例:

<plugin>
    <groupId>com.oracle.weblogic</groupId>
    <artifactId>weblogic-maven-plugin</artifactId>
    <version>12.1.3-0-0</version>
    <executions>
        <execution>
            <id>appc-build</id>
            <phase>process-classes</phase>
            <goals>
                <goal>appc</goal>
            </goals>
            <configuration>
                <earSourceDirectory>${project.build.directory}/${project.build.finalName}</earSourceDirectory>
                <!-- 开启EJB客户端生成 -->
                <generateClient>true</generateClient>
                <!-- 仅打包被接口引用的类,过滤未引用内容 -->
                <clientJarExcludeNonReferencedClasses>true</clientJarExcludeNonReferencedClasses>
                <!-- 可选:自定义要包含的类路径规则 -->
                <clientJarIncludes>
                    <include>com/yourcompany/ejb/api/**/*.class</include>
                </clientJarIncludes>
                <!-- 可选:自定义要排除的类路径规则 -->
                <clientJarExcludes>
                    <exclude>com/yourcompany/ejb/impl/**/*.class</exclude>
                </clientJarExcludes>
            </configuration>
        </execution>
    </executions>
</plugin>

如果你的EJB接口引用了第三方Jar中的类,appc会自动提取对应类写入客户端Jar,不会将整个第三方Jar打包进去,完全匹配你需要的精简客户端Jar的需求。

内容的提问来源于stack exchange,提问作者saichand singamaneni

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 04:45:03