




古人云,“工欲善其事,必先利其器”,这对于软件开发而言是再合适不过了。软件项目的自动化构建工具的好处不仅在于高效省时、任劳任怨,而且还可以保证结果的连续性和一致性。本专题介绍了在 Java 项目中实现自动化构建所涉及的开源工具和使用技巧,包括 Java 构建工具 Apache Ant、Maven 以及持续集成技术等。
教程:Apache Ant 101:使 Java 项目生成易如反掌
不管您是经验丰富的 Apache Ant 用户,还是刚刚开始接触这个开放源代码的生成工具,本教程都会为您提供丰富的信息。在本教程中,您将逐步完成为一个简单 Java 项目编写生成文件所涉及的步骤,然后考察 Ant 的一些其他功能,包括文件系统操作和模式匹配。最后将通过编写一个扩展 Ant 功能的自己的 Java 类来结束本教程。
利用 Ant 和 Eclipse 有效地提高部署工作效率
本文主要介绍 Ant 在多用户开发的情况下,如何用 Eclipse,并且根据不同的目标环境编译不同的部署包。文中首先介绍一个场景,给出在开发、编译、部署过程中遇到的问题;然后介绍如何用 Eclipse 来简化你的 Ant 开发过程;文章的最后解释如何通过编写有效的 Ant 脚本来提高你的工作效率。
在 Eclipse 中轻松使用 Ant
Eclipse 可使得使用 Apache Ant 更加容易。了解 Eclipse 集成开发环境 (IDE) 中的 Ant 集成特性,并学习如何使用 Ant 编辑器在 Eclipse 中编写、构建和调试代码。
利用 Ant 和 JUnit 进行增量开发
软件开发习惯中一个细微更改都可能会对软件质量产生巨大改进。将单元测试合并到开发过程中,然后从长远角度来看它可以节省多少时间和精力。本文通过使用代码样本说明了单元测试的种种好处,特别是使用 Ant 和 JUnit 带来的各种方便。
让编译和测试过程自动化 Ant 和 JUnit 让您与 XP 梦想更近一步
逐步递增测试和持续编译是极端编程方法基础的两种。把两者合并成为一个单独的、自动进行的过程 ― 加上自动生成电子邮件报告 ― 您就将在向 XP 梦想前进的道路上迈出坚实的步子。请跟随 Erik Hatcher,他向您展示了他是如何修改流行的 Ant 1.3 和 JUnit 测试框架,以达到让编译和测试过程完全的、用户化的自动化。
用 Groovy 进行 Ant 脚本编程
Ant 和 Maven 两者在构建处理工具的世界中占统治地位。但是 XML 却凑巧是一种非常没有表现力的配置格式。在“实战 Groovy”这个新系列的第 2 期中,Andrew Glover 将介绍 Groovy 的生成器实用工具,这个工具能够极其容易地把 Groovy 与 Ant 和 Maven 结合在一起,形成更具表现力、更可控的构建。
用 XSL 转换增强 Ant 的功能
Ant 与 XSLT 结合后,其功能与灵活性将会急剧增强,本文用真实的例子阐明了这一概念。
使用 Eclipse 和 Ant 进行 Python 开发
Python 是一种非常灵活强大的动态脚本编程语言,具有完整的面向对象特性。本文着重介绍了如何使用基于 Java 技术的流行开发工具 Eclipse 和 Ant 进行 Python 开发。
使用 Ant 自动生成项目构建版本
本文提供逐步的详细说明,以帮助使用 IBM Rational 软件交付平台(IBM Rational Software Delivery, SDP)的内置 Ant 支持实现构建过程自动化,从而提高效率和质量。您可以随后使用 IBM WebSphere 应用服务器系列之一对其进行部署。
用 ANT 自动化 DB2 UDB 的安装过程
这里提供了一种使用 Apache ANT 的新实现来自动化 DB2 UDB 安装过程的极佳方式。
用 Apache Ant 进行 Derby 数据库开发
本文将介绍少量 Apache Ant 任务,这些任务使得将 Derby 数据库的构建和发布包含到应用程序的构建过程中变得更加容易。
用 Gant 构建软件
Gant 是一个高度通用的构建框架,通过利用 Groovy 和 Apache Ant,它允许您在使用所有 Ant 功能的同时实现编程逻辑。本教程将一步一步地引导您了解 Gant 的基础知识。您将了解如何利用 Gant 灵活的特定于领域的语言在构建中定义行为,如何重用 Ant 特性,以及如何定义使构建更高效、甚至更具前摄性的函数。
Apache Maven 2 简介
现代软件项目不再是单个本地团队独立开发的产物。随着健壮的企业级开源组件的可用性日益提高,当今的软件项目需要项目团队间的动态协作,往往也需要混合使用在全球范围内创建和维护的组件。如今,Apache Maven 构建系统步入了第二代,它和由 Internet 带来的全球软件开发时代之前所创建的那些遗留构建工具不同,它完全是重新设计的,以应对这些现代的挑战。本教程将带您从头领略 Maven 2。
当 Maven 遇上 Eclipse
Maven 是一个功能强大的工具,但需要将其集成到流行的集成开发环境 (IDE) 中,以使其功能更易用且让您的工作更轻松,从而增加您的生产力和项目质量。Mevenide 将 Maven 平滑集成到 Eclipse 中,帮助降低了第一次面对 Maven 时的学习曲线。本教程提供了如何让 Maven 与 Eclipse 协作的具体例子。
项目管理: Maven 让事情变得简单
尽管 Ant 对于构建 Java 程序而言是事实上的标准工具,但这个工具在许多方面都不胜任项目管理任务。相反,Ant 提供的东西,Maven(出自 Apache Jakarta 项目的高级项目管理工具)都能提供,而且更多。Java 开发人员 Charles Chan 将介绍 Maven 的特性,并循序渐进地指导您进行一次完整的 Maven 项目设置。
在 Eclipse 中利用 Maven
Maven 将作为一个普通的构建系统,被人们重新认识,并且它将超越 Java 技术。本文不打算成为一篇 Maven 教程,而是将 Maven 与其他技术进行比较,让您洞察 Maven 与 Eclipse 相适应的地方,以及如何使这些工具相互协作。
敏捷软件开发基础:持续集成环境的构建
从技术层面上来讲,“持续集成”的含义是指开发团队中的每个成员都尽量频繁地把他们所做的工作更改合入到源码库中,并且还要验证新合入的变化没有造成任何破坏。本文中,作者将介绍如何构建持续集成所需要的环境。
教程:通过持续集成尽早发现缺陷
持续集成(Continuous Integration,CI)是持续地编译、测试、检查和部署源代码的过程。在许多持续集成环境中,这意味着每当源代码管理库中的代码发生改变时,都要执行新的构建。CI 的好处很明确:经常组装软件可以大大提高在早期发现缺陷的可能性,而缺陷在早期还不复杂,容易解决。本教程介绍持续集成的基本方面,并讲解如何用最好的开放源码技术设置 CI 过程。
自动进行团队构建和单元测试过程
极限编程和敏捷方法建议开发过程要包含持续集成和单元测试。支持这些实践的一个实际方法是设置一个自动系统,每次在源代码发生变化时,都自动构建和测试源代码的最新版本。这篇文章将介绍为 Java 项目建立基于 Linux 的构建服务器时涉及的实际问题。
用 DbUnit 和 Anthill 控制测试环境
在本文中,描述了如何处理持续集成,以及如何联合使用 DbUnit 和 JUnit,以便在每次测试之前通过设置数据库状态来端到端地控制测试环境。
教程:在 Eclipse 中使用 CruiseControl
本教程高度概括介绍如何在 Eclipse 中使用 CruiseControl、Luntbuild 和 Anthill。这些应用程序用于实现持续集成构建,以便在项目的源代码发生更改时随时提供快速反馈。
“让开发自动化”系列专栏
作为开发人员,我们的工作就是为最终用户实现过程自动化;然而,很多开发人员却忽略了将自己的开发过程自动化的机会。为此,自动化专家 Paul Duvall 编写了 让开发自动化 这个系列文章,专门探讨软件开发过程自动化的实际应用,并教您何时以及如何成功地应用自动化。
|