正确配置EAR需四步:创建项目时选对Java EE版本与运行时;通过图形化或手动编辑application.xml添加Web/EJB模块并设部署顺序;用Deployment Assembly将Java项目依赖打包至APP-INF/lib;最后导出含标准结构的EAR文件。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在MyEclipse中正确配置EAR打包规范与模块依赖,是确保Java EE应用能被WebLogic、WebSphere或TomEE等标准中间件成功识别并部署的前提——若application.xml缺失、模块路径错位或依赖未声明,服务器启动时会直接抛出ClassNotFoundException或ModuleNotFoundException。
创建企业级EAR项目并指定规范版本
打开MyEclipse → 选择File > New > Project → 展开J2EE节点 → 选择Enterprise Application Project → 点击Next。
在Project name栏输入项目名(如TradeEAR),【必须勾选“Add project to working set”以避免后续模块添加失败】。
Java EE version下拉框中,根据目标服务器能力选择:WebLogic 12c对应Java EE 6,WebSphere Liberty 22.0.0.12支持Java EE 8 → 错选会导致EJB 3.2注解或@WebServlet 4.0特性不可用。
Target runtime需匹配已配置的应用服务器(如Apache TomEE 9.0.0)→ 若列表为空,请先通过Window > Preferences > MyEclipse > Servers配置运行时环境。
向EAR添加Web/EJB模块并设置部署顺序
项目创建完成后,右键单击EAR项目 → 选择MyEclipse > Add and Remove Project Deployments。
方法一:图形化添加
在Available列中勾选已存在的Web项目(如TradeWeb)和EJB项目(如TradeEJB)→ 点击Add → 在Configured列中,对TradeWeb模块点击右侧下拉箭头 → 选择“Exploded Archive”(分解部署)→ 对TradeEJB模块同理操作。
Eclipse IDE 是一款由 Eclipse 基金会管理的开源、跨平台集成开发环境。其核心基于 Java 构建,通过强大的插件架构可扩展支持 C/C++、Python、PHP 等多种编程语言。它提供丰富的代码编辑、调试和重构工具,并紧密集成 Git、Maven 等现代开发工具链,是全球众多开发者首选的 Java 开发利器。
方法二:手动编辑application.xml
展开EAR项目 → 进入EarContent > META-INF → 双击application.xml → 在
<module id="TradeWeb"><web><web-uri>TradeWeb.war</web-uri><context-root>/trade</context-root></web></module>
<module id="TradeEJB"><ejb>TradeEJB.jar</ejb></module>。
【module id必须全局唯一且不含特殊字符,否则部署时解析application.xml失败】
配置Java依赖项目为EAR内嵌库
第一步:确认依赖关系
右键EJB项目(如TradeEJB)→ Properties → Java Build Path → Projects选项卡 → 添加LoggingUtil等Java项目 → 此步仅建立编译期引用。
第二步:声明运行时部署
右键同一EJB项目 → Properties → MyEclipse → Deployment Assembly → 点击Add → 选择Project → Next → 勾选LoggingUtil → Finish。
第三步:验证打包结果
展开EAR项目 → 查看EarContent > APP-INF > lib目录 → 应出现LoggingUtil.jar;若缺失,说明Deployment Assembly未生效,需重新执行第二步并刷新项目。
导出可部署的EAR文件
右键EAR项目 → Export → 选择J2EE > EAR file → 点击Next。
在Export Destination中指定输出路径(如D:\deploy\TradeEAR.ear)→ 勾选“Overwrite existing files” → 点击Finish。
生成的EAR文件解压后必须包含:META-INF/application.xml、META-INF/MANIFEST.MF、TradeWeb.war、TradeEJB.jar、APP-INF/lib/LoggingUtil.jar → 缺少任一结构,均会导致服务器拒绝加载。

















