1.Ant 编译java项目
<?xml version="1.0" encoding="UTF-8"?> <project name="javacTest" default="compile" basedir="."> <!--srcdir --> <property name="srcdir" value="${basedir}/src" /> <!-- java_home--> <property name="JAVA_HOME" value="C:\Program Files\Java\jdk1.6.0_26" /> <!-- classpath --> <path id="classpath"> <fileset dir="${JAVA_HOME}\lib"> <include name="**/*.jar" /> </fileset> </path> <target name="clean"> <delete dir="build"/> </target> <!--compile java--> <target name="compile" description="Compile Java sources" depends="clean"> <echo message="Build Java" /> <mkdir dir="${basedir}/build/classes" /> <javac srcdir="${srcdir}" destdir="${basedir}/build/classes" includeantruntime="on"> <classpath refid="classpath" /> </javac> </target> </project>
2.Ant 构建Web 项目
1).compile java文件
2).src目录除java文件外copy,如配置文件等
3).构建后的目录是web-inf/classes
<?xml version="1.0" encoding="UTF-8"?> <project name="javacTest" default="copy" basedir="."> <!-- java_home--> <property name="JAVA_HOME" value="C:\Program Files\Java\jdk1.6.0_26" /> <property name="webapp.src" value="${basedir}/src" /> <property name="webapp.webroot" value="${basedir}/WebContent" /> <property name="webapp.webinf" value="${webapp.webroot}/WEB-INF" /> <property name="lib.dir" value="${webapp.webinf}/lib"/> <!-- classpath --> <path id="classpath"> <fileset dir="${JAVA_HOME}\lib"> <include name="**/*.jar" /> </fileset> <fileset dir="${lib.dir}"> <include name="**/*.jar"/> </fileset> </path> <!-- clean --> <target name="clean_project"> <delete dir="${webapp.webinf}/classes"/> </target> <!--compile java--> <target name="compile" description="Compile Java sources" depends="clean_project"> <echo message="Build Java" /> <mkdir dir="${webapp.webinf}/classes"/> <javac srcdir="${webapp.src}" destdir="${webapp.webinf}/classes" includeantruntime="on"> <classpath refid="classpath" /> </javac> </target> <!-- copy files --> <target name="copy" description="copy files" depends="compile"> <copy todir="${webapp.webinf}/classes" overwrite="yes"> <fileset dir="${webapp.src}"> <exclude name="**/*.java" /> </fileset> </copy> </target> </project>
3.Ant构建Web项目, 并生成测试报告
初学Ant 自己写的, 各种凌乱啊。
<?xml version="1.0" encoding="UTF-8"?> <project name="Junit" default="JUnitAllTests" basedir="."> <!-- java_home--> <property name="JAVA_HOME" value="C:\Program Files\Java\jdk1.6.0_26" /> <property environment="env"/> <property name="debuglevel" value="source,lines,vars"/> <property name="junit.output.dir" value="JunitTestResult"/> <property name="java_compile_version" value="1.6"/> <property name="source" value="1.6"/> <property name="debug" value="true"/> <property name="webapp.src" value="${basedir}/src" /> <property name="webapp.test" value="${basedir}/test" /> <property name="webapp.webroot" value="${basedir}/WebContent" /> <property name="webapp.webinf" value="${webapp.webroot}/WEB-INF" /> <property name="lib.dir" value="${webapp.webinf}/lib"/> <!-- Compile Start --> <!--compile classpath --> <path id="compile.classpath"> <fileset dir="${JAVA_HOME}\lib"> <include name="**/*.jar" /> </fileset> <fileset dir="${lib.dir}"> <include name="**/*.jar"/> </fileset> </path> <!-- clean --> <target name="clean_project"> <delete dir="${webapp.webinf}/classes"/> </target> <!--compile java--> <target name="compile" description="Compile Java sources" depends="clean_project"> <echo message="Build Java" /> <mkdir dir="${webapp.webinf}/classes"/> <javac srcdir="${basedir}" destdir="${webapp.webinf}/classes" includeantruntime="on"> <classpath refid="compile.classpath" /> </javac> </target> <!-- copy files --> <target name="copy" description="copy files" depends="compile"> <copy todir="${webapp.webinf}/classes" overwrite="yes"> <fileset dir="${webapp.src}"> <exclude name="**/*.java" /> </fileset> <fileset dir="${webapp.test}"> <exclude name="**/*.java" /> </fileset> </copy> </target> <!-- Compile End --> <!-- JUnit Start --> <path id="build.classpath"> <pathelement location="${basedir}/WebContent/WEB-INF/classes"/> </path> <path id="cover-test.classpath"> <fileset dir="${lib.dir}"> <include name="**/*.jar"/> </fileset> </path> <path id="test.run.classpath"> <path refid="cover-test.classpath"/> <path refid="build.classpath"/> </path> <target name="JUnitAllTests" depends="copy"> <delete dir="${junit.output.dir}"/> <mkdir dir="${junit.output.dir}"/> <junit fork="yes" printsummary="withOutAndErr"> <formatter type="xml"/> <batchtest fork="yes" todir="${junit.output.dir}"> <fileset dir="test"> <include name="**/*Test*.java"/> <exclude name="**/AllTests.java"/> </fileset> </batchtest> <classpath refid="test.run.classpath"/> </junit> <antcall target="junitreport"/> </target> <target name="junitreport" > <junitreport todir="${junit.output.dir}"> <fileset dir="${junit.output.dir}"> <include name="TEST-*.xml"/> </fileset> <report format="frames" todir="${junit.output.dir}"/> </junitreport> </target> <!-- JUnit End --> </project>