Kunena Forum 是 Joomla 平台的论坛组件。我前两天注意到官方正在积极开发 v1.6.0 版本,于是就通过 SVN 下载了 1.6 版本的源代码。但是下载之后发现,无法通过 TortoiseSVN 的“导出”功能直接得到一个 Joomla 标准组件安装包。我注意到 Kunena 的 SVN 结构中有 Build 目录,我意识到必须自己手动构建(Build)安装包了。怎么构建?这就要用到 Apache Ant 了。

本文主要目的不是研究 Ant,而是教会你如何快速安装好 Ant 这个工具并自己构建 Kunena 的安装包,因此,我只按我自己操作的步骤来演示。另外,SVN 版本一般只有开发人员和测试人员需要,普通用户根本不需要,所以如果你对 SVN 版本没兴趣,这篇文章也就不用看了。 

 

Apache Ant

 

什么是 Apache Ant?

Ant是 Another Neat Tool 的缩写,它是一种基于 Java 的构建(build)工具。最初由 James Duncan Davidson 因为 Make 工具无法满足他的需求而开发,目前由 Apache 软件基金会主持开发,因此又称为 Apache Ant。

由于在 Java 平台运行,因此 Ant 是跨平台的,不管是 Windows 还是 Linux 都能使用它。同样,由于 Ant 需要在 Java 运行,你在安装 Ant 之前必须先安装好 Java 开发工具(JDK)。

在 Windows 平台安装 Apache Ant

  1. 确保你的操作系统是 Windows XP 以上版本
  2. 从 Sun 官方网站 下载 JDK 并安装。下载时看清楚要下载“JDK”而不是“JRE”(点击“Download JDK”这个红色按钮),实际上 JDK 里面已经包含了 JRE。从下拉选单上选择针对 Windows 操作系统的文件,下载后得到一个 .exe 格式安装文件,双击运行就开始安装。我安装的路径是 D:\Program Files\Java\jdk 。
  3. 从 Apache 官方网站下载 Ant(必须选 Binary Distributions),得到一个名称类似 apache-ant-1.8.0-bin.zip(共三种格式,选 tar.gz 或 tar.bz2 格式也可以)的压缩包。将此压缩包直接解压到PC上某个目录,例如 E:\ex\k16\apache-ant-1.8.0,不过我觉得这个目录名称太长,手动修改为 E:\ex\k16\ant 。

Apache Ant 的安装就结束了。实际上 Ant 并不需要一个 Setup.exe 文件来“安装”,当你将 Ant 的 Binary Distribution 压缩包解压后就完成了安装。在 Windows 平台使用时,是通过命令行模式运行 Ant 安装目录中 bin\ant.bat 这个批处理程序来工作的。

在 Windows 平台配置 Apache Ant

 如果你对 DOS 命令行模式有一些了解,就知道直接在 bin 目录中运行 ant.bat 是没问题的,但是要在其它路径下运行这个批处理程序,就必须在 DOS 环境变量的“Path”中添加 ant.bat 所在的路径。当然,要成功运行 Ant,还必须配置好 Java 的执行路径。因此,在 Windows 上面配置 Ant 十分重要。很多人看着上面几步非常简单,但却无法使 Ant 运行起来,原因就是没有配置好。

在 Win 平台,只需设置3个环境变量就能确保 Ant 正常工作,它们是:

  • ANT_HOME=E:\ex\k16\ant
  • JAVA_HOME=D:\Program Files\Java\jdk
  • PATH=%JAVA_HOME%\bin;%ANT_HOME%\bin;

注意:上面前两项的路径都需要针对你的实际安装目录来调整。

网上很多文章都提到了这三项配置,但是如何配置却语焉不详,让人十分困惑。下面详细解说一下:

在 Windows 7 上设置这三项的操作过程是:

点击屏幕左下角“开始”,在弹出菜单上找到“计算机”(winXP 是“我的电脑”),在“计算机”上点右键,选择“属性”,然后在弹出窗口中依次点击“高级系统设置 -> 高级 -> 环境变量”,在弹出对话框上,主要针对“系统变量”这个部分进行操作。如下图所示:

set DOS environment variables on Windows 7 platform

 

  1. 点击“新建”,在弹出对话框上,“变量名”一栏填写“ANT_HOME”,“变量值”一栏填写“E:\ex\k16\ant”,然后点击“确定”;
  2. 再次点击系统变量部分的“新建”,“变量名”一栏填写“JAVA_HOME”,“变量值”一栏填写“D:\Program Files\Java\jdk”,然后点击“确定”;
  3. 拖动系统变量部分的滑杆,找到 Path 这个变量,点击并选中它,然后点击“编辑”按钮,在弹出的对话框上,在“变量值”的末尾,添加“%JAVA_HOME%\bin;%ANT_HOME%\bin;”(注意与前面的路径参数之间用英文分号分隔),并点击确定;

在网上看到很多人说,配置完成后,在 DOS 提示符下输入 ant 并回车,无法运行 Ant,却看到如下的错误提示:

Unable to locate tools.jar. Expected to find it in D:\program files\java\jre6\lib\tools.jar

这个原因很简单:因为没有把 JAVA_HOME 的路径配置正确。如果你按照我上面讲的步骤去操作,一定错不了。

如果正确配置了路径,还是提示找不到这个文件,那么解决办法是:从 JDK 的安装目录,可以找到这个文件: D:\Program Files\Java\jdk\lib\tools.jar ,将它复制到上面 ant 试图寻找这个文件的目录中,就 OK 了。

如果配置正确,那么现在你在 DOS 命令行模式输入 “ant -version”这个命令(不要引号)并回车,会看到正确的输出:

Apache Ant version 1.8.0 compiled on February 1 2010

这就表明 Apache Ant 配置成功了。

 

从 SVN 获取 Kunena 组件的源代码

  • 在 JoomlaCode.org 的 Kunena 专案页面很容易就找到 Kunena 论坛组件的 SVN 访问地址是: http://joomlacode.org/svn/kunena ,但是这个地址会下载所有的分支版本,我们只需要其中的 1.6.0,因此,进一步缩小范围到这个下载地址:

http://joomlacode.org/svn/kunena/trunk/1.6

  • 下载 TortoiseSVN 工具及简体中文语言包(注意选择对应的版本),得到两个 .msi 格式安装文件。分别安装后,按要求重新启动电脑。
  • 在某个分区中新建一个目录,名叫“kunena-svn”,在新目录上点击右键然后选择“SVN 检出”,输入上面的 SVN 下载地址,就能完整下载 Kunena 1.6.0 分支版本的全部源代码。完成后会提示你当前修订版的版本号码。
  • 下载完成后,在 kunena-svn 目录上再次点击右键并选择“TortoiseSVN -> 导出”,在弹出对话框中指定一个位置,例如 E:\ex\k16,点击“确定”就可以将源代码导出。

至此,得到了 Kunena 1.6 的最新开发版源代码。

通过 Apache Ant 构建 Kunena 安装包

进入刚才导出的代码目录,找到 Build 这个文件夹并进入,可以看到一个 kunena.build.xml 的文件,这就是用来构建安装包的指令文件。

注意:Apache Ant 默认寻找并运行的 XML 文件名为 build.xml,因此我们将 Kunena 这个文件改名为 build.xml。

接下来,通过 DOS 命令行窗口进入这个 Build 目录,执行 ant 命令,会看到如下的结果:

run ant.bat via DOS and execute the build.xml

最后看到一句提示:BUILD SUCCESSFUL ,表明构建成功。

然后在 E:\ex\k16 这个位置会发现新增了一个 packages 文件夹,里面是构建好的 Kunena 安装包,有4种文件格式: tar, tar.bz2,tar.gz 和 zip,其实内容都一样的。我们选择 zip 格式即可。这个 zip 包就可以立即通过 Joomla 后台来安装。

Apache Ant 相关话题

  1. 如果你想进一步学习 Ant,请前往 dreamstone 的博客页面,下载 apache Ant中文手册
  2. 在 DOS 界面上,输入 ant -help 就能看到其全部命令的帮助页面;
  3. 虽然 Ant 默认寻找名叫build.xml的文件,我们也可以通过命令行参数 -buildfile <file> 来指定其他配置文件,其中,<file>是你要采用的配置文件名。例如本例中,可以不修改 XML 文件名,直接运行 ant -buildfile kunena.build.xml 来实现。

 

 

{quickdown:998}