首页 > 代码库 > Ant笔记

Ant笔记

Ant:

一、安装:

1、设置环境变量ANT_HOME:

   ANT_HOME=c:\Ant

2、设置环境变量Path:

Path=%ANT_HOME%\bin;.....

3、在命令行运行ant:

   如果报如下错误,说明安装成功。

Buildfile: build.xml does not exist!

Build failed

二、build.xml文件


<?xml version="1.0" encoding="UTF-8"?>

<project default="execute">

<target name="compile">

<javac destdir="." srcdir="."/>

</target>

<target name="execute" depends="compile">

<java classpath="." classname="HelloWorld"/>

</target>

</project>


1、所有任务必须放置到project中。


2、default 指定默认执行的任务。


3、每个任务用target指定。上面共两个任务:compile和execute。

   并且任务execute依赖(depends) compile才能运行。


三、ant编译普通java项目的流程。


1、创建文件夹

build-->所有的文件信息都保存在这个文件夹中

src-->所有的源码信息(如java文件)保存在这个文件夹中


classes-->编译好的所有文件(如class文件)保存在这个文件夹中。

dist-->编译好的jar文件保存在这个文件夹中。


2、copy文件。


3、编译源代码


4、打包为jar


4、直接运行程序



<?xml version="1.0" encoding="UTF-8"?>

<project default="execute">

<!--属性:定义常量-->

<property name="build.dir" value="http://www.mamicode.com/build"></property>

<!--使用property定义路径是最好用location,因为location自动匹配当前操作系统的路径符号-->

<property name="build.classes" location="${build.dir}/classes"></property>

<!--文件集-->

<fileset id="src.path" dir="src">

<!--包含-->

<include name="**/*.*"/>

<!--排除-->

<exclude name="**/Test*.*"/>

</fileset>

<!--第一步:创建文件夹-->

<target name="init">

<delete dir="${build.dir}"></delete>

<mkdir dir="${build.dir}"/>

<mkdir dir="build/src"/>

<mkdir dir="build/classes"/>

<mkdir dir="build/dist"/>

</target>

<!--第二步:copy文件-->

<target name="copySrc" depends="init">

<copy  todir="build/src">

<fileset refid="src.path"></fileset>

</copy>

</target>

<!--第三步:编译源代码-->

<target name="compile" depends="copySrc">

<javac destdir="build/classes" srcdir="src"></javac>

</target>

<!--第四步:打包-->

<target name="jar" depends="compile">

<jar destfile="build/dist/hello.jar" basedir="build/classes">

<manifest>

<!--如果jar是可以运行的文件,指定main函数入口,写入到 MANIFEST.MF中-->

<attribute name="Main-Class" value="http://www.mamicode.com/ant.zttc.edu.cn.HelloWorld"/>

<attribute name="Build-By" value="http://www.mamicode.com/lzf"/>

</manifest>

</jar>

</target>

<target name="execute" depends="jar">

<echo>基于类路径classname文件类执行</echo>

<java classname="ant.zttc.edu.cn.HelloWorld" classpath="build/classes">

<arg value="http://www.mamicode.com/张三"/>

<arg value="http://www.mamicode.com/李四"/>

<arg value="http://www.mamicode.com/王五"/>

</java>

<echo>基于jar文件类执行</echo>

<java jar="build/dist/hello.jar" fork="true">

<arg value="http://www.mamicode.com/zhangsan"/>

<arg value="http://www.mamicode.com/lisi"/>

<arg value="http://www.mamicode.com/wangwu"/>

</java>

</target>

</project>


Ant笔记