一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

怎样在MyEclipse中创建Java_EE企业级项目【入门】

时间:2026-07-02 08:31:52 编辑:袖梨 来源:一聚教程网

必须创建标准EAR结构,包含至少一个Web或EJB模块;通过MyEclipse向导新建Enterprise Application Project,勾选Web和EJB模块,自动生成子模块并建立Deployment Descriptor依赖;验证Modules列表、禁止手动修改配置文件;补加模块需通过向导或新建时指定目标EAR;类加载合规性要求实体类置于EJB模块,Web模块通过Build Path引用EJB项目。

要在MyEclipse中搭建一个可部署、可扩展的Java EE企业级项目,必须从创建标准EAR(Enterprise Archive)结构开始——它不是单个Java项目,而是Web模块、EJB模块、客户端模块等的逻辑容器,且必须至少包含一个Web或EJB模块,否则无法完成向导流程或后续部署。

创建EAR项目主体

选择 File → New → Project,在弹出窗口中展开 MyEclipse 节点,选中 Enterprise Application Project,点击 Next

Project name 字段输入项目名(如 TraderX),注意名称不能含空格或中文字符,否则后续构建可能失败;接受默认的 Java EE 版本(建议选 Java EE 8 或更高)和目标运行时(如 TomEE 9 或 WildFly 27),点击 Next

这一步最关键:点击 New Module 按钮 → 在弹出对话框中勾选 Web ModuleEJB Module(必须至少选其一),再点击 Finish。系统将自动生成对应子模块(如 TraderXWebTraderXEJB)并建立正确依赖关系。

最后点击 Finish 完成向导。此时资源管理器中会出现 5 个项目:TraderX(EAR)、TraderXWebTraderXEJBTraderXClientTraderXConnector——其中只有 TraderX 是容器,其余均为独立模块项目,物理路径彼此分离。

验证模块关联是否生效

右键单击 EAR 项目(如 TraderX)→ 选择 Properties → 左侧导航至 MyEclipse → Deployment Descriptor

在右侧 Modules 列表中,确认 TraderXWebTraderXEJB 均显示为已勾选状态;若缺失,说明上一步 New Module 未成功执行,需删除当前项目重试。

不要手动修改 .project 或 .classpath 文件来添加模块引用,MyEclipse 的 EAR 依赖机制完全由 Deployment Descriptor 驱动,手改会导致类加载失败或部署时报错“Module not found”。

快速添加缺失模块(如需补加客户端模块)

方法一:通过向导补建
右键 EAR 项目 → MyEclipse → Add and Remove Modules → 点击 Add → 选择 ProjectNext → 勾选已有但未关联的项目(如 TraderXClient)→ FinishOK

方法二:新建并自动关联
选择 File → New → Other → 展开 MyEclipse → 选 Application Client Project → 输入名称(如 TraderXClient)→ 在 Target EAR project 下拉菜单中选择 TraderX → 完成后该模块会自动出现在 Deployment Descriptor 的 Modules 列表中。

注意:添加模块后,TraderXClient 项目会自动获得对 TraderXEJB 的 Java Build Path 依赖——这是 MyEclipse 模拟 JEE 类加载层次的关键行为,不可取消。

检查类加载结构是否合规

第一步:打开 TraderXEJB 项目 → 在 src 下新建包 com.traderx.entity → 创建实体类 Stock.java,用 @Entity 标记。

第二步:打开 TraderXWeb 项目 → 尝试在 Servlet 中 import com.traderx.entity.Stock —— 若无编译错误,说明 EJB 模块中的类已正确被 Web 模块可见;若报错,检查 TraderXWeb 的 Build Path → Projects 标签页,确认 TraderXEJB 已勾选。

第三步:切勿把 Stock.java 放进 TraderXWebsrc 目录——这会导致运行时 ClassNotFoundException 或序列化失败,因为 Web 模块的类加载器无法向上委托到自身内部。

热门栏目