位置:首页 > 综合教程 > MyEclipse企业级EJB项目创建与容器部署教程

MyEclipse企业级EJB项目创建与容器部署教程

时间:2026-06-30  |  作者:骑光打字机  |  阅读:0

MyEclipse 下创建并部署一个 EJB 项目,说到底就是三步走:

  • 先建一个符合 Java EE 6.0 / EJB 3.1 规范的工程;
  • 然后配置好容器级的 JNDI 数据源(比如 JBoss 下的 mysql-ds.xml),并在 persistence.xml 里引用它;
  • 最后把 EJB 模块打成 jar 包,部署到目标服务器(JBoss 或 GlassFish),通过控制台日志和 JNDI 客户端验证一下是否真的跑起来了。

整个过程不需要额外装什么插件,但版本匹配和配置文件的一致性绝对不能马虎——细节决定成败。

MyEclipse如何创建EJB项目并部署到容器【企业】

下面把这几个环节拆开揉碎,一步步说清楚。

创建标准 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 名字,比如 studentPU,同时选好 JPA 版本(2.0 或 2.1)。

配置数据源与 persistence.xml

数据库连接可不能硬编码在项目里——那样太老土,换个环境就得改代码。正确的做法是通过容器级数据源解耦。拿 JBoss 举例:

  • 在 JBOSS_HOME/server/default/deploy/ 下面新建一个 mysql-ds.xml,里面 stuMySqlDS 就是你要暴露的 JNDI 名称。
  • 然后在项目的 META-INF/persistence.xml 里, 内部写上:
    java:/stuMySqlDS。这样持久化单元就和数据源绑定了。
  • 实体类用 @Entity + @Table(name="student") 映射表;主键字段标上 @Id @GeneratedValue(strategy = GenerationType.IDENTITY)——如果你的数据库是自增主键,这个策略最省心。

生成并部署 EJB 模块

EJB 项目本身就是一个模块,可以打包进 EAR,也可以直接部署——具体看容器支不支持直接丢 jar。操作很直白:

  • 右键项目 → Export > JAR file,导出成 StudentEJB.jar,打包时确认包含了 META-INF/ejb-jar.xml 和所有编译后的 class 文件。
  • 在 MyEclipse 的 Servers 视图里右键目标服务器(比如 JBoss),点 Add and Remove,把 EJB 项目加进去。这样就可以通过 IDE 一键部署。
  • 启动服务器,控制台出现类似 Deployed "StudentEJB.jar" 的日志,基本就稳了。
  • 如果用 GlassFish,还需要额外把 gf-client.jar 加到测试客户端的构建路径里,否则通过 JNDI 查远程接口时会报 ClassNotFoundException。

验证部署是否生效

部署完可别只看控制台没报错就撒手——得主动验证一下才能放心。

  • 先检查服务器 deploy 目录下有没有对应的 jar 文件(JBoss),或者 autodeploy 目录有没有完成解压(GlassFish)。文件在,才算第一步到位。
  • 登录管理控制台,比如 JBoss AS 7 的管理地址是 http://localhost:9990,看看已部署的应用列表里有没有你的 EJB jar。
  • 最靠谱的方法是写个简单的 Java 客户端,用 InitialContext.lookup("java:global/StudentEJB/StudentDaoBean!com.example.BaseOperation") 测一下远程调用。能调通,才算真部署成功。
  • 注意:JNDI 名称的格式因容器而异。JBoss 7+ 通常用 java:jboss/exported/...,GlassFish 默认是 java:global/...。别搞混了,否则客户端会告诉你“找不到对象”。

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多