在本例中,你将创建一个由web项目、EJB项目、客户端项目和连接器项目组成的名为Test1的EAR项目。这些从属的项目分别命名为 Test1Web、Test1EJB、 Test1Client和Test1Connector。一个EAR项目中必须至少有一个web项目或一个EJB项目与之关联。
所创建的企业级应用程序项目的Project Name-必须是一个合法的Eclipse项目名称
项目位置——在新项目及其相关资源中点击选择使用默认文件系统地址的复选框。默认位置位于MyEclipse开启时的工作区目录。
位置目录——如果取消选择使用默认位置的复选框,你可以选择工作区目录之外的另一个文件位置。
注意:你不能选择将工作区目录作为另外一个替换目录,这和在Eclipse一样是不被允许的。
Java EE版本——指定JEE所遵循规范的级别。请确保为你的应用所需的JEE特性选择合适的规范级别并且你的应用服务器的部署支持这个规范级别。检查你的应用程序服务器供应商信息是否与JEE规范级别相符。
添加Maven支持——在你的项目中启用Maven项目管理支持的选项。
目标运行环境——运行环境是基于你所选择的JEE版本而决定的。选择的运行环境必须能够用于出现在项目构建路径的各 种容器(如Spring、JPA、Struts等),你可以在Project Properties>Project Facets page的Runtime标签上改变运行环境。
点击New Module,然后点击Finish创建所有适用的模块。模块会被包含和选定进依赖关系列表里。
所选择的依赖关系
完成该向导可以创建和配置MyEclipse下的五个项目Test1、Test1Client、Test1Connector、Test1EJB和Test1Web。
在保证至少有一个与之关联的web或者EJB模块项目的前提下,EAR项目可以在任何时候添加或者移除MyEclipse模块项目。使用项目的Deployment Descriptor属性可以添加和移除模块。
注意:添加和移除模块项目的操作会改变EAR项目部署形式的物理形态。因此,如果你的EAR项目已经部署,在你添加或者移除模块项目之前你应当解除部署。使用工具栏上的 图标或者右键单击该项目,并选择MyEclipse>Add and Remove Project Deployments。
从Test1中移除Test1Web模块
移除操作将会产生以下行为:
注意:Test1Web项目的代码库在其它方式下没有发生改变。
添加一个模块项目到Test1
完成该流程将会产生以下行为:
在这一点上,你可以安全部署或者重新部署EAR项目。
当创建一个EAR项目时,大多数的努力都集中在开发web和EJB模块项目的应用程序逻辑上。来看相关主题部分的关联信息。
下面示例中的EAR项目是一个简单的股票交易模拟项目,它是由一个Web项目、一个EJB 项目和一个企业级项目组成的。这些web模块是由JSPs组成的,用户输入可通过输入股票代码的细节进行购买和卖出。当命令被执行后,最近的JSP将买/ 卖命令传递给一个与无状态会话EJB交互的servlet以完成交易。
Importing sample projects from archive file
Imported TraderX projects
对于项目部署,在MyEclipse所支持的应用服务器中你必须使用能够支持EARs的,本教程使用的是JBoss。
注意:你可以使用MyEclipse的部署配置进行更大的控制部署。
JBoss启动时的输出信息
当股票交易表单被提交后,transaction.jsp会与servlet产生交互,启动一个名为Trader的无状态会话EJB。这个Trader EJB只是作为演示而不与实际交易服务进行交互。
可选包是JEE模块在运行时所需要的一个或者多个独立的JAR文件。事实上,术语“可选包”在很多时候都是不准确的,比如在没有Jars等文件时依 赖的JEE模块就无法正常工作。对于这些Jars文件,更准确的名字是“必需包”。JEE规范支持将可选包Jar列入一种EAR文件并被来自于(那些需要 Jars提供服务的)任意模块中MANIFEST.MF文件的类搜索路径所引用。
对于使用其它Jar文件打包服务的EJB模块来说,可选包部署是更加常见的需求。与能够提供压缩库的WAR不同,EJB Jar没有这样的功能。举个例子,如果某个EJB模块使用Log4J作为它的日志服务器,那么这个Log4J Jar库就必须会被放进EAR中并在EJB模块的manifest文件中进行引用。
要将一个Java项目服务配置成为可选包,你必须使其成为一个企业级项目的依赖项目。在示例场景中,Test1EJB项目需要来自于Logging Java project的日志服务。由于EJB项目有限的JEE部署形式,可使用包含Test1EJB项目的企业级项目来作为模块并将Logging Java project来作为其依赖项目。
Adding a dependency to Test1
Click Add, select Logging.jar, and click Finish. Click OK to close the Properties window.
Test1EJB MANIFEST.MF