站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Eclipse 专题创建、部署和调试 Apache Geronimo 应用程序

创建、部署和调试 Apache Geronimo 应用程序

摘要: Eclipse 项目在过去几年中一直为开放源码社区提供高质量的和可扩展的集成开发环境。开始学习使用新的 Eclipse 插件来开发和部署 Web 应用程序到 Apache Geromimo 服务器吧。IBM 高级技术人员 Tim Francis 将为您介绍其中的细节。

插件为 Eclipse 添加了功能

Eclipse 平台吸引了许多开发人员,因为可以通过添加功能来扩展其核心能力。Eclipse 为这种扩展能力提供了定义良好的机制。Eclipse 的每一个方面都包含在 插件 中,而插件可以动态扩展其他插件,也可定义自身的 扩展点使其他插件可以扩展它们。插件本身定义了通过这些扩展可以提供的、而不属于基本的 Eclipse 基础设施的功能的类型。例如,扩展可以简单到只是弹出菜单中的一个新项,也可以像一个完全的新型项目、或是一系列的编辑器和视图这样包括众多。

基本 Eclipse 支持包括 Java 开发工具(Java Development Tool,JDT),它提供了完全的 Java 开发环境。不过,去年宣布了一个名为 Web Tools Platform (WTP) 的新 Eclipse 工具项目,其目的是提供开发 J2EE? Web 应用程序所需的基本能力。IBM 已经为这个项目贡献了很多的代码,而其他几家公司正在合作开发它。WTP 的首次发布定于 2005 年 7 月 29 日。

尽管 WTP 项目没有提供当前商业集成开发环境(如 IBM Rational? Application Developer)所具有的高级开发能力或易用的功能,但是它提供了一个公共开放源码库,后者定义了必要的底层结构。这个代码库包括基本项目类型的定义和结构和可以用来修改各种工件的基本编辑器,并支持对应用服务器的定义和交互。(您可以从本文后面的 参考资料 部分中找到更多关于 Eclipse 和 Web Tools Platform的信息)。


<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td>
</td></tr></table><table class="no-print" cellspacing="0" cellpadding="0" align="right"><tr align="right"><td>
<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle">
</td><td valign="top" align="right"></td></tr></table></td></tr></table>

Web Tools Platform 和 Apache Geronimo

WTP 项目当前支持部署项目到几种开放源码和 Web 应用服务器上,包括 Apache Tomcat servlet 容器。一个正在开发的新开放源码项目 —— Apache Geronimo —— 提供了完全的应用服务器,不仅包括 servlet 容器,包括对消息收发的支持,还包括一个包含 JDBC 连接器的数据库和一个门户框架。在 eclipse.org 网站上有一个正在开发的针对 WTP 的新插件,它提供了 WTP 与 Apache Geronimo 之间的集成(该插件的链接请参阅 参考资料)。这个插件允许您将 WTP 作为一个创建、部署和调试 Geronimo 应用程序的很基本的开发环境。


<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td>
</td></tr></table><table class="no-print" cellspacing="0" cellpadding="0" align="right"><tr align="right"><td>
<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle">
</td><td valign="top" align="right"></td></tr></table></td></tr></table>

部署和使用基本 WTP 项目

在写本文的时候,WTP 项目的 M4 里程碑刚刚发布,并可以下载了(请参阅 参考资料)。正如在 eclipse.org 上对该项目的概述中所说,安装 WTP 需要一些先决条件,在安装 WTP 之前必须先下载并安装它们。这些先决条件包括基本 Eclipse 驱动和其他针对 GEF、EMF 和 Java EMF 模型的驱动。所有这些文件的正确版本的链接可从 eclipse.org 中得到 (请参阅 参考资料)。

下载并解压缩基本 WTP 项目和 Geronimo 插件

下载了先决条件并解压缩基本 WTP 项目以及最新的 WTP 里程碑构建之后,您可以下载 Geronimo 插件了。在 WTP 以后的构建中会包括该插件,但是如果使用的是 WTP M4 驱动,可以单独下载该插件(请参阅 参考资料)。将这个插件解压缩到以下位置: eclipse/plugins/org.eclipse.jst.server.geronimo.core_1.0.0。

启动 Eclipse

准备过程的最后一步是用 –clean 选项第一次启动 Eclipse,以确保能识别新插件。启动 Eclipse 之后,您就会看到如下的启动屏幕:




启动 Eclipse 后,下一步就是在环境中定义 Geronimo 服务器。选择 File > New file wizard 以创建一个新的服务器。在这个向导的第二页,当提示选择服务器类型时,选择 Apache Geronimo,如图 2 所示。




然后将提示输入 Apache 服务器的安装位置以及用来定位开发项目的类路径所必需的转移地址寄存器的根目录。在下一页中,可以定义关于服务器的附加信息,尤为重要的是在安装 Geronimo 时指定的管理员用户 ID 和密码。在向导的最后一页上,可以向服务器添加已有的项目。因为还没有创建任何项目,所以就选择 Finish

现在您已经获得了在 Eclipse 中启动和停止 Geronimo 服务器所需的足够信息。要看服务器的状态,最容易的方法是进入 J2EE 透视图;选择 Window > Open Perspective > Other 菜单,然后从出现的对话框中选择 J2EE perspective。在这个透视图中,在屏幕的右下角有一个 Servers 视图,如图 3 所示:




选择这个视图中的 Geronimo 服务器,并从弹出菜单中选择 start。这将启动服务器并在控制台窗口中显示输出。还可以从调试模式下的同一视图启动服务器。


<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td>
</td></tr></table><table class="no-print" cellspacing="0" cellpadding="0" align="right"><tr align="right"><td>
<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle">
</td><td valign="top" align="right"></td></tr></table></td></tr></table>

创建项目和模块定义

服务器运行后,下一步就是创建一个在其上运行的应用程序。WTP 支持使您可以在一个 Eclipse 项目中有多个 Web 模块 —— 因此,现在您需要创建项目和模式定义。从 J2EE navigator 中,选中 Dynamic Web Projects 图标,再从弹出菜单中选择 Create a new J2EE Web module。在得到的向导中,可以选择一个已有的项目或者新建一个项目来包含 Web 模块。因为这是一个空白工作区,选择 New 来新建一个项目。在 New project 对话框中,输入项目名并选择 Geronimo 作为目标服务器。完成这个向导之后,输入要创建的新 Web 模块的名字。完成新模块向导之后,将会在 Dynamic Web projects 图标下面看到新创建的项目和模块,如图 4 所示。





<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td>
</td></tr></table><table class="no-print" cellspacing="0" cellpadding="0" align="right"><tr align="right"><td>
<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle">
</td><td valign="top" align="right"></td></tr></table></td></tr></table>

创建和部署 Web 项目

在 navigator 视图中展开项目和模块节点,并找到 WebContent 文件夹。这个文件夹包含要放在生成的 Web 应用程序中的文件。从这个图标上的弹出菜单中,新建一个 HTML 文件。可以任意命名这个文件,并在出现的编辑器中输入一些简单的 HTML 文本。在 navigator 视图中,选择刚创建的文件,出现弹出菜单,然后选择 Run As > Run on server。在出现的对话框中,确保选中了 Geronimo 服务器,选择复选框以将 Geronimo 设置为这个项目的默认服务器,然后选择 Finish。现在这个 Web 应用程序就被创建并部署到运行中的 Geronimo 服务器上了,而一个 Web 浏览器将会打开,显示出刚创建的文件。如果不希望打开外部浏览器,那么 Eclipse 可以使用一个嵌入式窗口中的浏览器:如要设置偏好,则选择 Open window > Preferences > General > Web browser


<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td>
</td></tr></table><table class="no-print" cellspacing="0" cellpadding="0" align="right"><tr align="right"><td>
<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle">
</td><td valign="top" align="right"></td></tr></table></td></tr></table>

在 Eclipse 中调试应用程序

成功地部署 Web 项目之后,就可以探究如何在 Eclipse 中调试应用程序了。最简单的方法是在刚创建的 Web 应用程序中添加一个 JSP 文件。

第一步是返回 Navigator 视图,并用弹出菜单在 WebContent 文件夹中新建一个 JSP 文件。在随后打开的 JSP 编辑器中,在 JSP 文件中加入一些非常基本的内容,包括一些嵌入式 Java 代码,如图 5 所示的示例。现在您可以通过双击相应行左栏来在该Java 代码中设置中断点。

下一步是在调试模式下重启 Geronimo 服务器。当 WTP 项目完成后,这项操作将自动进行,但是目前您需要在“Debug”模式下手动重启服务器。在右下窗格中选择 Servers 选项卡,并从弹出菜单中停止 Geronimo 服务器,然后再在“Debug”模式下重启它。现在您可以选择新建的 JSP 文件,并从其弹出菜单中选择 Debug as > Debug on server。新建的 JSP 文件会被编译,应用程序会重新部署到服务器上,而调试器会停在设置中断点的位置。现在您可以单步调试 JSP 文件,同时查看并更改变量值,而当您继续执行(使用绿色箭头),JSP 文件就被提交给浏览器。




您可以对应用程序做任何需要的更改,然后,如上所述,选择 Run on server 操作,将更改重新部署到 Geronimo中。servers 视图的“Publish”操作也会将与所选服务器相关的所有应用程序重新部署。

<table align="right" border="0" cellspacing="0" cellpadding="0" width="40%"><tr><td width="10"></td><td><table border="1" cellspacing="0" cellpadding="5" width="100%"><tr><td bgcolor="#eeeeee"> 使用 Eclipse XML 编辑器

这个编辑器预计将会被扩展以支持整个部署计划方案,但是目前您可以用它来编辑这个文件。

</td></tr></table></td></tr></table>
<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td>
</td></tr></table><table class="no-print" cellspacing="0" cellpadding="0" align="right"><tr align="right"><td>
<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle">
</td><td valign="top" align="right"></td></tr></table></td></tr></table>

部署计划

Geronimo Web 应用程序在部署计划中定义了它们的基本行为。对于 Web 应用程序来说,这个计划被命名为 geronimo-jetty.xml,它在 WebContent > WEB-INF 目录中。在将应用程序部署到 Geronimo 中时,如果还没有基本部署计划,就会自动创建一个。您必须修改这个文件来为应用程序指定一个新的上下文路径。有一个编辑器可用来操纵这个文件的基本方面。要使用这个编辑器,在 navigator 视图中找到该文件,并选择 Open with > Deployment plan editor 来打开编辑器。部署计划的一些方面还没有展现在编辑器中,这些数据没有显示在编辑器中,但是保存文件时它们也不会丢失。





<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td>
</td></tr></table><table class="no-print" cellspacing="0" cellpadding="0" align="right"><tr align="right"><td>
<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle">
</td><td valign="top" align="right"></td></tr></table></td></tr></table>

结束语

Geronimo 服务器适配器插件还处于初期。它为与 Geronimo 的交互提供了基本支持,但是还需要做很多改进和完善。该插件是作为 Eclipse WTP 项目的一部分开发的,欢迎有兴趣的开发人员访问 Eclipse 网站并为该插件仍在进行的开发尽一份力。


<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td>
</td></tr></table><table class="no-print" cellspacing="0" cellpadding="0" align="right"><tr align="right"><td>
<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle">
</td><td valign="top" align="right"></td></tr></table></td></tr></table>


<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle">
</td><td valign="top" align="right"></td></tr></table></td></tr></table>

关于作者<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td colspan="3"></td></tr><tr align="left" valign="top"><td></td><td></td><td width="100%">

Tim Francis 是 IBM 加拿大多伦多 实验室 WebSphere Tools 团组的高级技术人员和架构师。他在滑铁卢大学取得了应用电子工程学学士学位(BASc)和软件工程数学硕士学位(MMath),并于 1990 年加入 IBM。Tim 是 WebSphere Architecture Board 的高级成员,并且是 Rational Tools Development Council 的核心成员。Tim 与人合著了 J2EE 书籍 Professional IBM WebSphere 5.0 Application Server (Wrox Press,2002 年)。

</td></tr></table>

<table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td>
</td></tr></table><table class="no-print" cellspacing="0" cellpadding="0" align="right"><tr align="right"><td>
<table border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle">
</td><td valign="top" align="right"></td></tr></table></td></tr></table>


↑返回目录
前一篇: 在 Apache Geronimo 上远程部署 Web 应用程序
后一篇: 集成 DB2 与 Apache Geronimo