最基本的ant构建过程

以下总结了大多数ant构建过程都会用到的通用功能。

准备工作

解压缩Ant分发包.设置JAVA_HOME变量.在Windwos系统环境中的Path变量中增加, {ant_home}/bin.打开命令行窗口(若能看到版本信息说明安装成功):

ant -version

创建项目目录和Java文件

创建一个任意的项目目录.在该目录下创建src目录.在src目录下创建test目录, 并在该目录下编写一个最简单的java程序:

package test;

public class HelloWorld {
        public static void main(String[] args) {
                System.out.println("Hello World!");
        }
}

创建构建文件

构建文件一般被称作build文件.在刚才建立的项目根目录下,创建build.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<project name="firstbuild" default="compile">
        <target name="compile">
                <javac srcdir="src" />
                <echo>构建成功!</echo>
        </target>
</project>

运行构建脚本

项目根目录下, 运行:

ant

在运行中看到更详细信息的方法:

ant -verbose

增加构建的功能

上面的构建只完成一个工作, 将java文件编译为class文件.存在的不足: 源文件和编译后的文件放在一起, 比较混乱.源文件和编译文件存放在不同的目录下;编译后的class文件打包为jar文件.一般的目录约定:

目录名称 功能
src 源文件
build 所有构建过程中产生的文件, 可以删除和重建
build/classes 构建中产生的类文件和相关文件
dist 分发包文件, 可以删除和重建

编写build文件


target的依赖关系

如果循环依赖, ant会检测到并报错退出。

target.dependencies

更多的ant功能

了解build中所有任务

ant -projecthelp

增量构建

再次运行, 将编译改动过的class文件。

一次运行多个target

ant compile archive

指定运行的构建文件

ant -buildfile build.xml compile

减少构建中信息输出

ant -quiet

运行程序

可以通过命令行执行java程序:

java -cp build/classes test.HelloWorld

通过ant执行的配置:


        

使用ant执行的好处:

  • 可以比较容易的将复杂参数加入程序
  • 易于设置classpath
  • 直接使用ant配置的JVM

完整的构建文件




                
                        
                
        

                
        
        
        
        

        
        
                
                
        
        
                
        
        
                
        
        
                
                
        
        
                
                        
                                
                        
                        
                
        
        
                
        
        
                
        
        
                
                
        

build配置文件的组成

  • 一个build文件包含一个project标签(根标签);
  • project标签中包含多个target标签
  • 一个target可能依赖其他target(可以多个)
  • target包含多个task
  • task实现构建的各个任务
PDF    发送文章为PDF   

这篇文章上的评论的 RSS feed TrackBack URI

Leave a Reply