您的位置:首页 > 编程语言 > Java开发

使用 Eclipse 开发 J2EE 应用(转)

2013-10-30 11:51 387 查看
Eclipse
是一个非常优秀的集成开发环境,这个在 IBM
支持下的开放源码项目经过一段时期的发展完善,已经为广大 Java 开发者所熟悉。Eclipse 的出现,为 Java 开发者提供了免费使用强大的 Java IDE 的机会,通过集成大量的 plugin,Eclipse 的功能可以不断扩展,以支持各种不同的应用。
Lomboz
是一个免费的Eclipse
plugin,它将很多 Java
应用服务器、J2EE 组件和
Web 应用开发集成到 Eclipse 中,可以帮助 Java 开发者使用 Eclipse 建立、测试、部署 J2EE 应用。
JBoss
是一个开放源码、功能强大的Java
应用服务器,也是目前最受 Java
开发者欢迎的Java 应用服务器,被
Java World
的编辑们评为2002
年的最佳应用服务器。2003
年到目前为止的下载量已经超过了一百五十万次。

一、下载、安装和配置
1
. Eclipse
的下载和安装

首先需要安装 JDK,可以到
Sun
的网站上去下载最新版本并安装。

然后到 www.eclipse.org去下载 Eclipse 的最新版本,目前的最新版本是 2.1。下载以后解压到自己想要的目录中,比如 D:\Eclipse,直接运行 eclipse.exe,第一次运行的时候会自动寻找 JDK 并完成相应的配置,然后就进入了 Eclipse 的主界面。关于 Eclipse 的基本使用方法,developerWorks,Eclipse 的网站以及 Eclipse 的随机文档上都有详细地介绍,这里不详细描述了。
2
. Jboss
的下载、安装
JBoss
目前的最新版本是 3.2.1,不过我觉得这个版本有一些问题,启动服务器的时候会有一些 jar 包找不到,导致 WARN 和ERROR 的发生。所以我推荐下载 3.0.7,也可以下载集成了 Tomcat 4.1.24 的 JBoss 3.0.7 版本。

下载后解压,我们假设 JBOSS_HOME 为
JBoss 的主目录,执行
JBOSS_HOME/bin/run.bat,就启动了 JBoss 服务器。一般会在 1 分钟左右启动完毕。
3
. Lomboz
的下载、安装和配置
Lomboz
目前的最新版本是 2.1,我们假设
Eclipse 的主目录为
ECLIPSE_HOME,下载以后将其解压到
ECLIPSE_HOME/plugins
文件夹下面,这样在这个文件夹下面就多了一个com.objectlearn.jdt.j2ee 文件夹。

然后启动 Eclipse, 会自动出现
Customize Perspective
的对话框,如果没有出现的话,也可以通过菜单"Window->Customize
Perspective"来显示这个对话框,如下图所示:

展开 File->New,选择所有与 Lomboz 相关的选项;

展开 Window->Show
View,选择 Lomboz J2EE
View;

展开 Other,选择 Lomboz Actions。

确认 OK。

下面要进行 Lomboz
的配置:

首先,打开属性对话框,确保 Java->New Project 中的设置:

接着在 Lomboz
属性中,确保如下设置:

最后,设置服务器属性。
Lomboz
预先定义了一些常用的Java
服务器的设置,这些配置文件放在ECLIPSE_HOME/plugins/com.objectlearn.jdt.j2ee/servers
文件夹下面,你可以用文本编辑器手工修改(除非你所用的服务器不在 Lomboz 默认的服务器中,否则我不推荐你这么做),也可以在 Eclipse
的属性对话框中设置,设置的过程非常简单,如下图所示:

记得每次修改以后,都要点击 Apply。

上图是 Properties
标签下的设置,Classpath
标签下一般不需要做任何改动(注意:如果你没有听我文章开始部分的劝告,使用了 JBoss3.2.0 以上的版本,可能需要手工加入多了个 jar 包,这是体力活,有些麻烦。我不知道这是不是 JBoss 的问题,具体操作我在下面会提一下)。

通过以上三个步骤,就完成了 Lomboz 对
J2EE 开发的支持和 JBoss 的配置。你可以进入文章的第二部分"使用 Eclipse 开发 Web 应用"了。

注意事项:
a
.如果服务器不在默认服务器之列;

在 ECLIPSE_HOME/plugins/com.objectlearn.jdt.j2ee/servers
文件夹下新建一个后缀名为 server
的文件,然后根据已有的 server
文件为模版,用文本编辑器编辑 server
文件。建立了一个新的 server
文件以后,也可以在 Lomboz
的属性页中进行相应的设置。
b
. 如果使用了 JBoss3.2.0
版本。

打开 Window>Preferences>Lomboz>ServerDefinitions,选择你的服务器,然后选择
classpath 标签,将如下的
jar 包加入到 server library 中:
JBOSS_HOME\lib\concurrent.jar
 
JBOSS_HOME
\lib\boss-system.jar
 
JBOSS_HOME
\server\default\lib\jboss.jar
 
JBOSS_HOME
\server\default\lib\jpl-pattern.jar
 
JBOSS_HOME
\server\default\lib\jpl-util.jar
 
JBOSS_HOME
\server\default\lib\jnpserver.jar
 
JBOSS_HOME
\server\default\lib\jboss-transaction.jar

我的 JBoss320.server
文件中的全部内容在本文的最后部分呈现。

回页首

二、使用 Eclipse 开发
Web 应用

首先,打开 File->New->Lomboz J2EE
Project,创建一个名为 TestJ2EE 的 J2EE
Project。

点击 Next,默认各种设置,点击
Next,进入下一个对话框,在
Targeted Server
中加入已经配置好的服务器,如下图:

在 Web Modules 和
EJB Modules 中分别新建
Web 模块和 EJB 模块,在本例中,我们分别命名为 MyWeb 和 MyEJB,然后点击Finish。这样,一个 J2EE 项目的框架就自动生成了。

在 MyWeb 模块下面,自动生成了两个
jsp 文件:index.jsp 和 error.jsp,以及 WEB-INF 文件下面的配置文件。我们可以在此基础上面添加自己的 jsp 文件和 servlet,然后 build
project。

在 Eclipse 的工具栏上点击
Lomboz J2EE project
outliner 的按钮:

这样,在 Eclipse 上就出现了
Lomboz J2EE
View,如下图所示:

由于我事先已经部署了另一个 Web
服务器:Tomcat,所以在
MyWeb
这个模块上面出现了它所绑定的这两个服务器,JBoss 3.0
All 旁边的红色标记表示它是默认的服务器。可以通过右击 Web 模块选择更改默认的服务器,如下图:

选择好服务器以后,在 Lomboz J2EE
View 中右键单击服务器,选择运行服务器,等服务器启动好以后,右键单击 Web 模块,选择 Deploy Module,这样就完成了 Web 模块在服务器上的部署。打开 IE 浏览器,键入 http://127.0.0.1:8080/MyWeb,就可以看到自己开发的 Web 应用了。

这里有一点需要说明,如果采用 Tomcat 作为
Web 服务器的话,如果 Web 模块需要重新部署,则须重新启动 Tomcat 服务器,JBoss 则不需要这么做。

注意事项:

如果从 Eclipse 中启动
JBoss
服务器的时候,遇到了这个问题:
 Error occurred during
initialization of VM
 java/lang/NoClassDefFoundError:
java/lang/Object
 

一般遇到这个问题,可能是由于 JRE
没有设置好,请在Eclipse 中的
Preference
对话框中,展开Java->Installed JREs,查看 JRE 是否设置好了;然后打开所开发的项目属性对话框,查看
Java Build Path 的
library 中是否有 JRE System Library,没有的话,点击
Add Library,添加
JRE System
Library。

回页首

三、使用 Eclipse 开发
EJB

在第二部分"使用 Eclipse 开发 Web 应用"中,我们已经在TestJ2EE 这个 J2EE 项目中添加了一个名为MyEJB 的 EJB 模块。下面我们通过 Lomboz EJB Creation Wizard 向 MyEJB 模块中添加一个 Session Bean。

点击 File->New->Lomboz EJB
Creation Wizard,或者右击 MyEJB 模块,选择 New->Lomboz EJB Creation
Wizard,显示出如下对话框:

在 com.dino.testj2ee.myejb 这个包下面创建一个名为 MyEJB 的 Stateless Session Bean。完成以后,在 TestJ2EE 项目的 src 文件夹下面,出现了一个名为 MyEJBBean.java 的文件,右击这个文件,选择 New->Lomboz EJB Method
Wizard,可以给这个 EJB
添加各种方法。我添加了一个 helloWorld
方法,返回一个 String
类型。如下图所示:

然后,需要把 MyEJB 这个
Session Bean 添加到
MyEJB 这个模块上面:右击
MyEJB.java,选择
Lomboz J2EE …
->Add EJB to
Module,选择 MyEJB,OK。

右击 MyEJB 模块,选择
LombozJ2EE … ->Generate EJB
Classes,这样就在 ejbsrc 目录下面自动生成了下面几个文件:
MyEJBHome.java

MyEJBRome.java

MyEJBLocalHome.java

MyEJBLocal.java

MyEJBSession.java (MyEJBSession extends MyEJBBean)

MyEJBUtil.java
Build project
以后,自动将模块打包完毕。接着就可以按照部署 Web 模块的步骤来部署 EJB 模块了。

最后,我们建立一个应用程序来测试 EJB。

通过 File->New->Lomboz EJB Test
Client Wizard 打开一个对话框,按下图填写:

完成以后,在 src 目录下面生成了
TestMyEJB.java,在其中的
testBean
方法中加入测试代码:
 System.out.println(myBean.helloWorld());
 

如果目前 JBoss 服务器已经启动,而且
MyEJB 模块已经部署的话,执行
TestMyEJB,就会在
Console
窗口上显示出:
 hehe, I can deploy EJB
by Eclipse!
 

回页首

四、总结

通过以上的介绍,我们了解到,Lomboz 使
Eclipse 开发 J2EE 应用变得非常简便,而且 Eclipse, Lomboz, JBoss
这些工具都是免费和开放源码的项目,所以这样的组合对 Java 开发者来说更有吸引力。

对于开发复杂的 J2EE
应用来说,上面的介绍可能还不够全面,希望大家在做项目的过程中体会,再将总结出来的经验放到 developerWorks 上来分享。

回页首

附录:JBoss320.server
 <serverDefinition
name="JBOSS 3.2"
    
ejbModules="true" webModules="true"
earModules="true">
 <property
id="serverRootDirectory" label="Application Server
Directory:"
    
type="directory" default="D:/jboss-3.2.0"
/>
 <property
id="serverAddress" label="Address:"
    
type="string" default="127.0.0.1" />
 <property
id="serverPort" label="Port:"
    
type="string" default="8080" />
 <property
id="classPathVariableName" label="Classpath Variable
Name:"
    
type="string" default="JBOSS32" />
 <property
id="classPath" label="Classpath Variable:"
    
type="directory" default="D:/jboss-3.2.0"
/>
   
 <serverHome>${serverRootDirectory}</serverHome>
 <webModulesDeployDirectory>${serverRootDirectory}/server/all/deploy
 </webModulesDeployDirectory>
 <ejbModulesDeployDirectory>${serverRootDirectory}/server/all/deploy
 </ejbModulesDeployDirectory>
 <earModulesDeployDirectory>${serverRootDirectory}/server/all/deploy
 </earModulesDeployDirectory>
 <jndiInitialContextFactory>org.jnp.interfaces.NamingContextFactory
 </jndiInitialContextFactory>
 <jndiProviderUrl>jnp://${serverAddress}:1099</jndiProviderUrl>
 <startClass>org.jboss.Main</startClass>
 <startWorkingDirectory>${serverRootDirectory}/bin
 </startWorkingDirectory>
 <startVmParameters></startVmParameters>
 <startProgramArguments>-c
all</startProgramArguments>
 <stopClass>org.jboss.Shutdown</stopClass>
 <stopWorkingDirectory>${serverRootDirectory}/bin
 </stopWorkingDirectory>
 <stopVmParameters></stopVmParameters>
 <stopProgramArguments>${serverAddress}
${serverPort}
 </stopProgramArguments>
 <serverClassPath>
 <jar
type="variable">JDK_TOOLS</jar>
 <jar
type="variable">${classPathVariableName}/bin/run.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/bin/shutdown.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/client/jboss-j2ee.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/server/all/lib/javax.servlet.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/lib/commons-httpclient.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/lib/concurrent.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/lib/getopt.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/lib/jboss-boot.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/lib/jboss-common.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/lib/jboss-jmx.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/lib/jboss-system.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/lib/jdom.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/lib/log4j-boot.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/lib/webdavlib.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/lib/xercesImpl.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/lib/xml-apis.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/server/all/lib/jnet.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/lib/gnu-regexp.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/server/all/lib/jboss.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/server/all/lib/jnpserver.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/server/all/lib/jpl-util.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/server/all/lib/jpl-pattern.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/server/all/lib/jsse.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/server/all/lib/jbossha.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/server/all/lib/jboss-jaas.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/server/all/lib/jts.jar
 </jar>
 <jar
type="variable">
 ${classPathVariableName}/server/all/lib/jboss-transaction.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/server/all/lib/javagroups-2.0.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/server/all/lib/jmxri.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/server/all/lib/jmxtools.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/server/all/lib/jbossmx.jar
 </jar>
 </serverClassPath>
 <clientClassPath>
 <jar
type="variable">${classPathVariableName}/client/jboss-j2ee.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/client/jnp-client.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/client/jboss-client.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/client/jboss-common-client.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/client/jbosssx-client.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/client/log4j.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/client/jnet.jar
 </jar>
 <jar
type="variable">${classPathVariableName}/client/jaas.jar
 </jar>
 </clientClassPath>
 </serverDefinition>
参考资料

www.eclipse.org Eclipse

的官方网站;

www.jboss.org JBoss

的官方网站;

www.objectlearn.com Lomboz

的网站,上面有关于 Lomboz
的教程。

Eclipse in Action: A Guide for Web
Developers, by David Gallardo, Ed Burnette and Robert McGovern,
Manning Publications.
一本介绍使用 Eclipse
开发的好书。

JBoss 3.0: Quick Start Guide, by
JBoss Group.
一本关于 JBoss
入门的好书。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: