许多新老开发人员正在投身于不断增长的 Apache Geronimo
热潮。因此,对于希望集成修改或定制模块的开发人员,构建 Geronimo 的能力越来越重要了。不幸的是,构建 Geronimo
并不容易。它要求学习新的构建脚本以及构建应用程序。幸运的是,通过这个详细的分步指南,您就可以理解如何从头构建 Apache Geronimo
源代码。
Apache Geronimo 作为一个开放源码解决方案正在迅速发展,新的 1.0 版本已经完成了,Geronimo
已经度过了原始时期。像 Geronimo 这样的大型开放源码解决方案总是受到大量开发人员的关注。开发人员无论是进行提交,还是为了内部使用或业务使用而进行开发,他们都需要更多地了解
Geronimo 的结构,从而掌握构建过程。
本文讨论以下的 Geronimo 构建主题:
- 如何下载和安装在构建过程中需要使用的构建应用程序,即 Apache Maven 和 Subversion(SVN)。
- 了解源代码和二进制标准发行版中的相关 Geronimo 目录,以及它们与 Geronimo
整体的关系。
- 从头构建 Geronimo 并登录 Geronimo Console。
- 使用 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 源代码,包括用于构建整个树的 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
在构建过程中,您会注意到 Maven 正在下载各种 .jar 文件和其他依赖文件。我提到这一点是因为在我第一次构建
Geronimo 时从 Maven 收到了一个错误,它指出无法获得某些依赖文件。这大大妨碍了我使用 Geronimo 核心来调试我的代码。在这一次使用
Maven 构建 Geronimo 时,我没有收到这种错误。但是,为了以防万一,如果遇到 Maven 无法获得某些依赖项的问题,请采取以下步骤:
- 进入 <geronimo-install-dir>。
- 将 repository 目录中列出的所有目录复制到您的 HOME 目录中的 .maven/repository
目录。
- 再次构建 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
既然 Geronimo 启动了,现在打开一个浏览器并指向 http://localhost:8080/console。
现在,应该会看到 Geronimo Console,如 图
4 所示。
图 4. Geronimo Console
到处随便浏览一下。注意,默认的用户名是 system,密码是
manager。
现在,作为开发人员或调试人员,您可能希望获得最新最好的代码,因此需要使用 SVN 签出整个树。
对于正在开发先进技术的开发人员,掌握最新的代码是很重要的。对于 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
从 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
默认的用户名和密码仍然是 system 和 manager。
现在,您的计算机上已经安装了 Geronimo 应用服务器的最新版本,并正在运行。
您现在已经掌握了 Geronimo 源代码树的构建,可以顺利地构建 Geronimo 了。还使用
SVN 从 svn.apache.org 签出了 Geronimo 源代码树的最新版本,并成功地构建和在服务器上运行。如果您打算开发
Geronimo 代码或者在 Geronimo 源代码树中进行修改或添加,那么通过 Geronimo 开发人员邮件列表聚集在一起的社区会欣赏您的努力。参见
参考资料
中 Geronimo 邮件列表的链接。
学习
获得产品和技术
讨论
|