Ant学习笔记--入门

来源:互联网 发布:360赚钱软件 编辑:程序博客网 时间:2024/06/10 18:45

Ant是什么

Ant是一个可靠的、跨平台的构建工具
Ant构建文件是用xml写的。

安装Ant

  1. 下载Ant
    http://ant.apache.org/bindownload.cgi
    这里写图片描述

2.配置环境变量
1) 解压apache-ant-1.9.4-bin.zip,到F:\Ant\apache-ant-1.9.4、apache-ant-1.9.4
2) 新增系统变量ANT_HOME=F:\Ant\apache-ant-1.9.4
将%ANT_HOME%\bin添加到path里

3.运行Ant
开始->运行->cmd,进入命令行。进入bin目录,输入ant.
看到如下信息,说明配置成功。
Buildfile: build.xml does not exist!
Build failed
这里写图片描述

Ant核心概念简介

  • xml: 构建文件是以xml文件来描述的
  • project: 每个构建文件包含一个工程
  • depends: 每个工程包含若干个目标(target)。目标可以依赖于其他的目标
  • task: 目标包含一个或多个任务(task)
  • 易于扩展: 易于使用Java语言增加新的任务:(自定义)
  • 语法简单: 构建文件短小精悍,语法直观且易于理解

4 Ant初体验

4.1 假想一个需求
1)编写一个程序
2)编译它
3)把这个程序打成jar包
4)把它放在应该放置的地方
5)运行它

4.2 写第一个Ant配置文件

<?xml version="1.0" encoding="UTF-8" ?><project name="HelloWorld" default="run" basedir=".">    <property name="src" value="src" />    <property name="dest" value="classes" />    <property name="hello_jar" value="hello.jar" />    <target name="init">        <mkdir dir="${dest}" />    </target>    <target name="compile" depends="init">        <javac srcdir="${src}" destdir="${dest}" />    </target>    <target name="jar" depends="compile">        <jar jarfile="${hello_jar}" basedir="${dest}" />    </target>    <target name="run" depends="jar">        <java classname="test.ant.HelloWorld" classpath="${hello_jar}" />    </target>    <target name="clean">        <delete dir="${dest}" />        <delete dir="${hello_jar}" />    </target>    <target name="rerun" depends="clean,run">        <ant target="clean" />        <ant target="run" />    </target></project>

编写的程序

package test.ant;public class HelloWorld {    public static void main(String[] args) {        System.out.println("hello world");    }}

4.3 解释以上Ant的配置文件

<project name="HelloWorld" default="run" basedir="."></project>

一个Ant配置文件对应一个project。name是project的名字。
default表示默认要做的事。basedir工作的根目录。”.”表示当前目录。

<property name="src" value="src" /><property name="dest" value="classes" /><property name="hello_jar" value="hello.jar" />

property类似程序中的变量。name/value指定了变量的名字/值。

<target name="run" depends="jar">    <java classname="test.ant.HelloWorld" classpath="${hello_jar}" /></target>

project的default属性值是run,意思是默认执行名为run的target。
该target在执行时会检查它的depends属性指向的target是否被执行。
如果执行了,直接执行run。如果没有,就会先执行它依赖的target。
Ant调用变量用${}.

<target name="rerun" depends="clean,run">        <ant target="clean" />        <ant target="run" /></target>

这里显示了如何再一个target里调用另外一个target。

步骤重申一遍:
1) 建一个src文件夹,按照包结构目录(test\ant),放入HelloWorld.java文件
2) 写build.xml
3)输入ant命令

Ant运行前目录结果

Ant运行前目录结果

Ant运行后目录结果

Ant运行后目录结果

运行Ant时遇到问题小结:
1) 没有将build.xml放入bin目录下。直接在命令行输入ant,回车会报错。
这里写图片描述
所以,如果只是输入ant命令,build.xml必须放在bin目录下。而且名字不能变。

2)如果build.xml放在bin目录的上级目录。
用ant -find命令就行。-find选项会在上级目录里寻找buildfile,直至文件根目录。如果名字不是build.xml,比如叫test.xml。就用命令ant -find test.xml

3)如果放在别的目录下,使用命令

ant -buildfile 路径+文件名

这里写图片描述

0 0
原创粉丝点击