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

含EJB客户端JAR的Web应用在TomEE9中被部署EJB的问题咨询

问题分析与解决

你的问题核心在于TomEE的默认扫描机制,以及你对EJB客户端JAR的使用偏差:

  1. TomEE的默认行为
    TomEE会自动扫描Web应用类路径(包括WEB-INF/lib下的所有JAR)中带有EJB注解(比如@Stateless、@Stateful)的类,只要发现这类类,就会将其部署为服务器端EJB Bean——不管这个JAR原本的定位是客户端。

  2. 操作偏差点
    你口中的"EJB客户端JAR"实际上包含了完整的EJB实现类(带服务器端EJB注解),但标准的EJB客户端JAR应该只保留EJB接口(远程/本地接口),不能包含带@Stateless这类服务器端注解的实现类。这就是TomEE误将其部署为服务器端EJB的原因。

解决办法

方法一:修正客户端JAR内容

重新构建你的EJB客户端JAR,只保留EJB的接口文件,移除所有带有服务器端EJB注解的实现类。这样TomEE扫描时就不会识别到可部署的EJB Bean。

方法二:配置TomEE跳过扫描该JAR

如果无法修改客户端JAR,可以通过配置让TomEE忽略这个JAR的EJB扫描:

  • 在Web应用的WEB-INF/web.xml中添加配置:
<context-param>
    <param-name>openejb.deployments.classpath.exclude</param-name>
    <param-value>你的客户端JAR文件名.jar</param-value>
</context-param>
  • 或者在TomEE的tomee.xml中针对目标Web应用添加配置:
<Deployments dir="webapps/你的应用名" excludeJars="你的客户端JAR文件名.jar"/>

相关日志

Jun 21, 2023 2:36:27 PM org.apache.openejb.assembler.classic.Assembler startEjbs
INFO: Created Ejb(deployment-id=PaymentManagerBean, ejb-name=PaymentManagerBean, container=My Stateless Container)
Jun 21, 2023 2:36:27 PM org.apache.openejb.assembler.classic.Assembler startEjbs
INFO: Created Ejb(deployment-id=IRMTransactionManagerBean, ejb-name=IRMTransactionManagerBean, container=My Stateless Container)
Jun 21, 2023 2:36:27 PM org.apache.openejb.assembler.classic.Assembler startEjbs
INFO: Created Ejb(deployment-id=GraphManagerBean, ejb-name=GraphManagerBean, container=My Stateless Container)
Jun 21, 2023 2:36:27 PM org.apache.openejb.assembler.classic.Assembler startEjbs
INFO: Created Ejb(deployment-id=ReportManagerBean, ejb-name=ReportManagerBean, container=My Stateless Container)
Jun 21, 2023 2:36:27 PM org.apache.openejb.assembler.classic.Assembler startEjbs
INFO: Created Ejb(deployment-id=DeviceManagerBean, ejb-name=DeviceManagerBean, container=My Stateless Container)

内容的提问来源于stack exchange,提问作者HockChai Lim

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 05:43:30