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="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="ant.zttc.edu.cn.HelloWorld"/>
<attribute name="Build-By" value="lzf"/>
</manifest>
</jar>
</target>
<target name="execute" depends="jar">
<echo>基于类路径classname文件类执行</echo>
<java classname="ant.zttc.edu.cn.HelloWorld" classpath="build/classes">
<arg value="张三"/>
<arg value="李四"/>
<arg value="王五"/>
</java>
<echo>基于jar文件类执行</echo>
<java jar="build/dist/hello.jar" fork="true">
<arg value="zhangsan"/>
<arg value="lisi"/>
<arg value="wangwu"/>
</java>
</target>
</project>