UML软件工程组织

 

 

从头构建 Apache Geronimo
 
2008-05-16 作者:Tyler Anderson 来源:IBM
 
本文内容包括:
许多新老开发人员正在投身于不断增长的 Apache Geronimo 热潮。因此,对于希望集成修改或定制模块的开发人员,构建 Geronimo 的能力越来越重要了。不幸的是,构建 Geronimo 并不容易。它要求学习新的构建脚本以及构建应用程序。幸运的是,通过这个详细的分步指南,您就可以理解如何从头构建 Apache Geronimo 源代码。

简介

Apache Geronimo 作为一个开放源码解决方案正在迅速发展,新的 1.0 版本已经完成了,Geronimo 已经度过了原始时期。像 Geronimo 这样的大型开放源码解决方案总是受到大量开发人员的关注。开发人员无论是进行提交,还是为了内部使用或业务使用而进行开发,他们都需要更多地了解 Geronimo 的结构,从而掌握构建过程。

本文讨论以下的 Geronimo 构建主题:

  1. 如何下载和安装在构建过程中需要使用的构建应用程序,即 Apache Maven 和 Subversion(SVN)。
  2. 了解源代码和二进制标准发行版中的相关 Geronimo 目录,以及它们与 Geronimo 整体的关系。
  3. 从头构建 Geronimo 并登录 Geronimo Console。
  4. 使用 SVN 从 svn.apache.org 签出 Geronimo 的最新版本,然后登录 Geronimo Console 来测试和运行它。

开始

本文使用 Geronimo 1.0 版,并假设您不了解 Geronimo 或 Geronimo 构建过程。要构建 Geronimo,需要 Java™ 1.4.2_08(或更高版本,但是要低于 1.5)。从 Sun Microsystems 公司下载 Java 代码

在下载 Java 之后,下载 Geronimo 1.0 版。在 Binaries 和 Source Code 部分中,选择 .zip(Microsoft® Windows® 或 Linux®)或 .tar.gz(Linux)文件。

当下载完成之后,将 .zip 或 .tar.gz 文件解压在同一目录中,这样 Geronimo 安装就准备好了。

因为 Geronimo 使用 Apache Maven 作为构建工具,所以还需要从 apache.org 下载 Maven 1.1 Beta 2。按照简单的 安装说明 进行操作即可!

需要下载的最后一个应用程序是 Subversion,将使用它从 Apache Geronimo Subversion 存储库签出最新的源代码树(HEAD)。

另外,确保添加以下环境变量:

  • MAVEN_HOME 应该是 Apache Maven 安装的根目录。
  • JAVA_HOME 应该是 Java 安装的根目录。

最后,确保以下目录在 PATH 变量中:

  • <maven-install-dir>/bin
  • <geronimo-install-dir>/bin
  • <java-install-dir>/bin
  • <subversion-install-dir>/bin

关于在 Windows 和 Linux 系统上在 PATH 中添加目录或创建新环境变量的信息,请参见 参考资料 中的链接。

Geronimo 和初始构建

在下载的二进制和源代码安装中有几个目录。二进制下载包含 Geronimo 的核心,这是运行和使用 Geronimo 所必需的。源代码下载包含所有 Geronimo 源代码,包括用于构建整个树的 Maven 构建脚本。首先,我们来看看二进制发行版,然后是源代码发行版。

二进制发行版

二进制发行版的文件/目录比较少,但是比较大,因为它们是二进制形式的。下面列出相关目录:

  • bin —— 大多数开发人员应该熟悉这个目录。其中包含可执行文件。
  • config-store —— 想知道 Geronimo 的部署者将应用程序的 .war 和其他文件放在哪里吗?就在这儿。
  • doc —— GBeans 的一些计划或配置放在这里。
  • repository —— 这里包含构建和运行 Geronimo 所需的依赖项。
  • var —— 这里存储配置和属性文件,以及内置的 Derby 数据库系统。

对二进制发行版就介绍这么多。更多信息请参见 参考资料 中的链接。下面介绍源代码发行版。

源代码发行版

在这个发行版中有几个文件/树,这是源代码树的常见情况 —— 有许多有意思的代码!下面列出顶级目录:

  • applications —— 容纳 Geronimo 附带的各种标准应用程序。关于每个应用程序的情况,请参见 参考资料 中的链接。
  • modules —— 包含几个目录,其中包含所有 Geronimo 源代码。Assembly 是主构建目录;但是,也可以单独构建每个目录。

作为开发人员,您应该非常熟悉 modules 目录中打算修改的子目录。接下来,对 Geronimo 进行初始构建。

初始构建

执行 Geronimo 的初始构建是很容易的。只需打开控制台,进入 <geronimo-install-dir>,输入 maven new。但是,如果修改了代码,就应该重新构建树。这通过输入 maven m:clean m:clean-repo new 来完成。

可以在以上命令中添加 "-Dmaven.test.skip=true -Dmaven.itest.skip=true",从而跳过测试。我不建议在对树进行修改之后跳过测试,但是在某些情况下这可以节省时间。记住,跳过内置的测试可能会影响系统的安全性和功能性。在输入以上命令之后,构建就开始了,如 图 1 所示。

图 1. 构建 Geronimo
构建 Geronimo

在构建过程中,您会注意到 Maven 正在下载各种 .jar 文件和其他依赖文件。我提到这一点是因为在我第一次构建 Geronimo 时从 Maven 收到了一个错误,它指出无法获得某些依赖文件。这大大妨碍了我使用 Geronimo 核心来调试我的代码。在这一次使用 Maven 构建 Geronimo 时,我没有收到这种错误。但是,为了以防万一,如果遇到 Maven 无法获得某些依赖项的问题,请采取以下步骤:

  1. 进入 <geronimo-install-dir>。
  2. 将 repository 目录中列出的所有目录复制到您的 HOME 目录中的 .maven/repository 目录。
  3. 再次构建 Geronimo。

现在,Maven 的运行应该没有问题了,因为它从 Geronimo 安装获得了所有必要的依赖文件。如果 Maven 需要什么文件,就能够找到它们。

成功的构建如 图 2 所示。

图 2. 成功的构建
成功的构建

当构建过程完成时,新的构建没有保存在 ./bin 目录中,因为 ./bin 目录不是源代码发行版的一部分。因此,构建 Geronimo 并不会以任何方式影响系统上现有的 Geronimo 构建,无论是开箱即用的 Geronimo 构建,还是已经替代了开箱即用构建的任何构建。

下面来测试这个构建。

测试初始构建

要运行这个新构建的服务器,应该进入这个目录:<geronimo-install-dir>\assemblies\j2ee-tomcat-server\target\geronimo-1.0。

打开控制台并输入 java -jar bin/server.jar。

服务器现在应该启动了,如 图 3 所示。

图 3. 启动 Apache Geronimo
启动 Apache Geronimo

既然 Geronimo 启动了,现在打开一个浏览器并指向 http://localhost:8080/console。

现在,应该会看到 Geronimo Console,如 图 4 所示。

图 4. Geronimo Console
Geronimo Console

到处随便浏览一下。注意,默认的用户名是 system,密码是 manager。

现在,作为开发人员或调试人员,您可能希望获得最新最好的代码,因此需要使用 SVN 签出整个树。

使用 SVN 签出最新的 Geronimo 源代码树

对于正在开发先进技术的开发人员,掌握最新的代码是很重要的。对于 Geronimo 这样的项目,每次发布都有很重要的更新。每天或每周都可能出现新的 bug 补丁或新特性。使用 SVN 签出并构建整个源代码树,就可以掌握最新的代码,可以利用 Geronimo 开发人员已经开发的所有新特性。

用 SVN 签出最新的 Geronimo 源代码是很容易的。前面已经安装了 SVN。为了签出最新最好的代码,进入要放置签出的 Geronimo 源代码树的目录,并输入 svn checkout http://svn.apache.org/repos/asf/geronimo/trunk geronimo。

Geronimo 树被下载(签出)到您的计算机上,如 图 5 所示。

图 5. 签出最新的 Geronimo 源代码树
签出最新的 Geronimo 源代码树

要获得进一步的更新,可以在 ./geronimo 目录(也就是将 Geronimo 从 svn.apache.org 签出到的目录)中输入命令 svn update。

接下来,清理并构建发行版。进入刚从 svn.apache.org 签出的新的 Geronimo 目录,输入 maven m:clean m:clean-repo new -Dmaven.test.skip=true -Dmaven.itest.skip=true。

注意,这一次 Maven 会下载新的依赖文件,所以可以得到最新的开发成果!像以前一样构建源代码,这样就得到了 Geronimo 的最新版本。

接下来,测试新的构建。

测试最新的构建

测试这个构建与测试从 Apache Geronimo 下载的源代码的初始构建相似,只是这一次是测试通过 SVN 接收到的最新源代码。在控制台中输入以下命令来启动 Geronimo:

java -jar <svncheckout-geronimo-dir>/assemblies
/j2ee-installer/target/geronimo-1.0-SNAPSHOT/bin/server.jar

好了!服务器启动了。现在进入 Geronimo Console。像以前一样,打开浏览器并指向(http://localhost:8080/console)。见 图 6

图 6. 在 Geronimo 的最新版本中查看 Geronimo Console
在 Geronimo 的最新版本中查看 Geronimo Console

默认的用户名和密码仍然是 system 和 manager。

现在,您的计算机上已经安装了 Geronimo 应用服务器的最新版本,并正在运行。

结束语

您现在已经掌握了 Geronimo 源代码树的构建,可以顺利地构建 Geronimo 了。还使用 SVN 从 svn.apache.org 签出了 Geronimo 源代码树的最新版本,并成功地构建和在服务器上运行。如果您打算开发 Geronimo 代码或者在 Geronimo 源代码树中进行修改或添加,那么通过 Geronimo 开发人员邮件列表聚集在一起的社区会欣赏您的努力。参见 参考资料 中 Geronimo 邮件列表的链接。

参考资料

学习 获得产品和技术 讨论
 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号