MyEclipse创建并部署EJB项目核心三步:新建符合Java EE 6.0/EJB 3.1规范的EJB工程;配置容器级JNDI数据源(如JBoss的mysql-ds.xml)并在persistence.xml中引用;将EJB模块打包为jar并部署至目标服务器(如JBoss或GlassFish),通过控制台日志及JNDI客户端验证部署成功。

MyEclipse 创建 EJB 项目并部署到容器,核心在于三步:新建符合规范的 EJB 工程、正确配置数据源与持久化单元(如需访问数据库)、将生成的 EJB 模块打包并发布到目标应用服务器(如 JBoss、GlassFish)。整个过程不依赖外部插件,但需注意版本匹配和配置文件一致性。
创建标准 EJB 项目
确保 MyEclipse 已配置好目标运行时(如 JBoss 4.2/7.1 或 GlassFish 3.1)。操作路径为:File > New > Project > EJB Project。关键设置包括:
- Project name 填写合法标识符(如
StudentEJB),避免空格或特殊字符 - Specification Level 选 Java EE 6.0(对应 EJB 3.1)或 Java EE 7(若容器支持);J2EE 1.3 仅用于遗留 EJB 2.x 场景
- Target Runtime 必须指向已注册的服务器运行时,否则后续部署失败
- 勾选 Generate ejb-jar.xml deployment descriptor,便于手动调整部署描述符
- 若使用 JPA,需指定 Persistence Unit Name(如
studentPU)并选择 JPA 版本(2.0 或 2.1)
配置数据源与 persistence.xml
数据库连接不是在项目创建时硬编码,而是通过容器级数据源解耦。以 JBoss 为例:
Eclipse IDE 是一款由 Eclipse 基金会管理的开源、跨平台集成开发环境。其核心基于 Java 构建,通过强大的插件架构可扩展支持 C/C++、Python、PHP 等多种编程语言。它提供丰富的代码编辑、调试和重构工具,并紧密集成 Git、Maven 等现代开发工具链,是全球众多开发者首选的 Java 开发利器。
- 在
JBOSS_HOME/server/default/deploy/下新建mysql-ds.xml,其中<jndi-name>stuMySqlDS</jndi-name>即为 JNDI 名称 - 在项目
META-INF/persistence.xml中,<persistence-unit name="studentPU" transaction-type="JTA">内设置:<jta-data-source>java:/stuMySqlDS</jta-data-source> - 实体类用
@Entity+@Table(name="student")映射表;主键字段标注@Id @GeneratedValue(strategy = GenerationType.IDENTITY)(适用于自增主键)
生成并部署 EJB 模块
EJB 项目本身是模块,需打包进 EAR 或直接部署(取决于容器支持):
- 右键项目 → Export > JAR file 导出为
StudentEJB.jar,确保包含META-INF/ejb-jar.xml和编译后的 class 文件 - 在 Servers 视图中右键目标服务器(如 JBoss)→ Add and Remove → 将 EJB 项目加入部署列表
- 启动服务器后,查看控制台日志确认部署成功,典型提示如:
Deployed "StudentEJB.jar" - 若使用 GlassFish,还需额外添加
gf-client.jar到测试客户端构建路径,才能通过 JNDI 查找远程接口
验证部署是否生效
部署完成后,不能仅看控制台无报错,还需主动验证:
- 检查服务器
deploy目录下是否存在对应 jar 文件(JBoss)或autodeploy是否完成解压(GlassFish) - 访问管理控制台(如
http://localhost:9990for JBoss AS 7)查看已部署应用列表 - 编写简单 Java 客户端,用
InitialContext.lookup("java:global/StudentEJB/StudentDaoBean!com.example.BaseOperation")测试远程调用 - 注意 JNDI 名称格式因容器而异:JBoss 用
java:jboss/exported/...,GlassFish 默认为java:global/...

















