ant详解

配置ant环境:
ANT_HOME:D:\cofco-env\ant\apache-ant-1.8.4
Path:%ANT_HOME%\bin

build.xml:
<?xml version="1.0" encoding="utf-8"?>
<project default="execute"><!--指定默认执行的任务 -->
	<target name="compile"><!--编译源码-->
		<javac destdir="." srcdir="."></javac>
	</target>
	<target name="execute" depends="compile"><!--运行源码--><!--执行execute前先执行compile-->
		<java classpath="." classname="HelloWorld"></java>
	</target>
</project>


<?xml version="1.0" encoding="UTF-8"?>
<project default="execute">
	<!--指定文件集-->
	<fileset id="src.path" dir="src">
		<include name="**/*.*"/>
		<exclude name="**/Test*"/>
	</fileset>
	<!--创建文件夹-->
	<target name="init">
		<delete dir="build"></delete>
		<mkdir dir="build"/>
		<mkdir dir="build/src"/>
		<mkdir dir="build/classes"/>
		<mkdir dir="build/dist"/>
	</target>
	<!--拷贝源代码-->
	<target name="copySrc" depends="init">
		<copy todir="build/src">
			<fileset refid="src.path"></fileset>
		</copy>
	</target>
	<!--编译源代码-->
	<target name="compile" depends="init">
		<javac destdir="build/classes" srcdir="src"></javac>
	</target>
	<!--将编译好的class文件打成jar包-->
	<target name="jar" depends="compile">
		<jar destfile="build/dist/hello.jar" basedir="build/classes">
			<manifest >
				<attribute name="Main-Class" value="com.cofco.ant.HelloWorld"/>
				<attribute name="Build-By" value="jincm"/>
			</manifest>
		</jar>
	</target>
	<!--基于两种方式运行程序-->
	<target name="execute" depends="jar,copySrc">
		<echo>基于类路径的classname来完成执行</echo>
		<java classname="com.cofco.ant.HelloWorld" classpath="build/classes">
			<arg value="张三"/>
			<arg value="李四"/>
			<arg value="王五"/>
		</java>
		<echo>基于jar来完成执行</echo>
		<java jar="build/dist/hello.jar" fork="true">
			<arg value="jincm1"/>
			<arg value="jincm2"/>
			<arg value="jincm3"/>
		</java>
	</target>
</project>


<?xml version="1.0" encoding="UTF-8"?>
<project default="execute">
	<property name="build.dir" location="build"></property>
	<!--使用属性定义相应的路径时,一定使用location不要使用value-->
	<property name="build.src" location="${build.dir}/src"></property>
	<property name="build.classes" location="${build.dir}/classes"></property>
	<property name="build.lib.dir" location="${build.dir}/dist"></property>
	<property name="execute.class" value="com.cofco.ant.HelloWorld"></property>
	<property name="jar.name" value="hello.jar"></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.lib.dir}"/>
	</target>
	<!--拷贝源代码-->
	<target name="copySrc" depends="init">
		<copy todir="${build.src}">
			<fileset refid="src.path"></fileset>
		</copy>
	</target>
	<!--编译源代码-->
	<target name="compile" depends="init">
		<javac destdir="${build.classes}" srcdir="src"></javac>
	</target>
	<!--将编译好的class文件打成jar包-->
	<target name="jar" depends="compile">
		<jar destfile="${build.lib.dir}/${jar.name}" basedir="${build.classes}">
			<manifest >
				<attribute name="Main-Class" value="${execute.class}"/>
				<attribute name="Build-By" value="jincm"/>
			</manifest>
		</jar>
	</target>
	<!--基于两种方式运行程序-->
	<target name="execute" depends="jar,copySrc">
		<echo>基于类路径的classname来完成执行</echo>
		<java classname="${execute.class}" classpath="${build.classes}">
			<arg value="张三"/>
			<arg value="李四"/>
			<arg value="王五"/>
		</java>
		<echo>基于jar来完成执行</echo>
		<java jar="${build.lib.dir}/${jar.name}" fork="true">
			<arg value="jincm1"/>
			<arg value="jincm2"/>
			<arg value="jincm3"/>
		</java>
	</target>
</project>


<?xml version="1.0" encoding="UTF-8"?>
<project default="execute">
	<property name="build.dir" location="build"></property>
	<!--使用属性定义相应的路径时,一定使用location不要使用value-->
	<property name="build.src" location="${build.dir}/src"></property>
	<property name="build.classes" location="${build.dir}/classes"></property>
	<property name="build.lib.dir" location="${build.dir}/dist"></property>
	<!--
	<property name="execute.class" value="com.cofco.ant.HelloWorld"></property>
	<property name="jar.name" value="hello.jar"></property>
	-->
	<!--引入外部文件-->
	<property file="build.properties"></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.lib.dir}"/>
	</target>
	<!--拷贝源代码-->
	<target name="copySrc" depends="init">
		<copy todir="${build.src}">
			<fileset refid="src.path"></fileset>
		</copy>
	</target>
	<!--编译源代码-->
	<target name="compile" depends="init">
		<javac destdir="${build.classes}" srcdir="src"></javac>
	</target>
	<!--将编译好的class文件打成jar包-->
	<target name="jar" depends="compile">
		<jar destfile="${build.lib.dir}/${jar.name}" basedir="${build.classes}">
			<manifest >
				<attribute name="Main-Class" value="${execute.class}"/>
				<attribute name="Build-By" value="jincm"/>
			</manifest>
		</jar>
	</target>
	<!--基于两种方式运行程序-->
	<target name="execute" depends="jar,copySrc">
		<echo>基于类路径的classname来完成执行</echo>
		<java classname="${execute.class}" classpath="${build.classes}">
			<arg value="张三"/>
			<arg value="李四"/>
			<arg value="王五"/>
		</java>
		<echo>基于jar来完成执行</echo>
		<java jar="${build.lib.dir}/${jar.name}" fork="true">
			<arg value="jincm1"/>
			<arg value="jincm2"/>
			<arg value="jincm3"/>
		</java>
	</target>
</project>



<?xml version="1.0" encoding="UTF-8"?>
<project name="cofco-ant01" default="execute">
	<property name="build.dir" location="build"></property>
	<!--使用属性定义相应的路径时,一定使用location不要使用value-->
	<property name="build.src" location="${build.dir}/src"></property>
	<property name="build.classes" location="${build.dir}/classes"></property>
	<property name="build.lib.dir" location="${build.dir}/dist"></property>
	<!--
	<property name="execute.class" value="com.cofco.ant.HelloWorld"></property>
	<property name="jar.name" value="hello.jar"></property>
	-->
	<!--引入外部文件-->
	<property file="build.properties"></property>
	<property environment="env"></property>
	
	<target name="test">
		<echo>ant属性</echo>
		<echo>ant.file ...${ant.file}</echo>
		<echo>ant.home ...${ant.home}</echo>
		<echo>ant.java.version ...${ant.java.version}</echo>
		<echo>ant.library.dir ...${ant.library.dir}</echo>
		<echo>ant.project.default-target ...${ant.project.default-target}</echo>
		<echo>ant.project.name ...${ant.project.name}</echo>
		<echo>ant.version ...${ant.version}</echo>
		<echo>env属性</echo>
		<echo>env.=:: ...${env.=::}</echo>
		<echo>env.ACPath ...${env.ACPath}</echo>
		<echo>env.ALLUSERSPROFILE ...${env.ALLUSERSPROFILE}</echo>
		<echo>env.ANT_HOME ...${env.ANT_HOME}</echo>
		<echo>env.APPDATA ...${env.APPDATA}</echo>
		<echo>env.CLASSPATH ...${env.CLASSPATH}</echo>
		<echo>env.CommonProgramFiles ...${env.CommonProgramFiles}</echo>
		<echo>env.CommonProgramFiles(x86) ...${env.CommonProgramFiles(x86)}</echo>
		<echo>env.CommonProgramW6432 ...${env.CommonProgramW6432}</echo>
		<echo>env.COMMPath ...${env.COMMPath}</echo>
		<echo>env.COMPUTERNAME ...${env.COMPUTERNAME}</echo>
		<echo>env.ComSpec ...${env.ComSpec}</echo>
	</target>
	<!--指定文件集-->
	<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.lib.dir}"/>
	</target>
	<!--拷贝源代码-->
	<target name="copySrc" depends="init">
		<copy todir="${build.src}">
			<fileset refid="src.path"></fileset>
		</copy>
	</target>
	<!--编译源代码-->
	<target name="compile" depends="init">
		<javac destdir="${build.classes}" srcdir="src"></javac>
	</target>
	<!--将编译好的class文件打成jar包-->
	<target name="jar" depends="compile">
		<jar destfile="${build.lib.dir}/${jar.name}" basedir="${build.classes}">
			<manifest >
				<attribute name="Main-Class" value="${execute.class}"/>
				<attribute name="Build-By" value="jincm"/>
			</manifest>
		</jar>
	</target>
	<!--基于两种方式运行程序-->
	<target name="execute" depends="jar,copySrc">
		<echo>基于类路径的classname来完成执行</echo>
		<java classname="${execute.class}" classpath="${build.classes}">
			<arg value="张三"/>
			<arg value="李四"/>
			<arg value="王五"/>
		</java>
		<echo>基于jar来完成执行</echo>
		<java jar="${build.lib.dir}/${jar.name}" fork="true">
			<arg value="jincm1"/>
			<arg value="jincm2"/>
			<arg value="jincm3"/>
		</java>
	</target>
</project>


猜你喜欢

转载自jin8000608172.iteye.com/blog/1810914
ANT