继续学习ant
今天由于打电话,打了两个小时的电话,结果一下子错过了学习的时间段,表示很惭愧,不过查了一些资料,感觉还不错,明天继续学习吧!
ant入门到精通
Ant 的最完整build.xml解释
ant实用实例
Ant入门与进阶
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project default="execute"> 3 4 <!--fileset可以设定一组文件集来进行操作,dir指明文件集要进行选择的路径, 5 通过id可以指定这个文件的名称,在使用的时候进行直接的引入 6 include和exclude可以设定包含返回和排除范围**/*.*所有目录中的所有文件 7 --> 8 <fileset id="src.path" dir="src"> 9 <include name="**/*.*"/> 10 <!--<exclude name="**/*.java"/>--> 11 </fileset> 12 13 <target name="init"> 14 <delete dir="build"></delete> 15 <mkdir dir="build"/> 16 <mkdir dir="build/src"/> 17 <mkdir dir="build/classes"/> 18 <mkdir dir="build/dist"/> 19 </target> 20 21 <target name="copySrc" depends="init"> 22 <copy todir="build/src"> 23 <fileset refid="src.path"></fileset> 24 </copy> 25 </target> 26 27 <target name="compile" depends="init"> 28 <javac destdir="build/classes" srcdir="src"></javac> 29 </target> 30 31 <target name="jar" depends="compile"> 32 <jar destfile="build/dist/hello.jar" basedir="build/classes"> 33 <manifest> 34 <attribute name="Main-Class" value="ant.zttc.edu.cn.HelloWorld"/> 35 <attribute name="Build-By" value="Konghao"/> 36 </manifest> 37 </jar> 38 </target> 39 40 <target name="execute" depends="jar,copySrc"> 41 42 <echo>基于类路径的classname来完成执行</echo> 43 <java classname="ant.zttc.edu.cn.HelloWorld" classpath="build/classes"> 44 <arg value="张三"/> 45 <arg value="李四"/> 46 <arg value="王五"/> 47 </java> 48 49 <echo>基于jar文件执行</echo> 50 <java jar="build/dist/hello.jar" fork="true"> 51 <arg value="张三"/> 52 <arg value="李四"/> 53 <arg value="王五"/> 54 </java> 55 </target> 56 </project> 57 58 59 60 61 62 63 <?xml version="1.0" encoding="UTF-8"?> 64 <project default="execute"> 65 66 <property name="build.dir" location="build"></property> 67 <!--使用属性定义相应的路径时,一定使用location而不要使用value--> 68 <property name="build.classes" location="${build.dir}\classes"></property> 69 <property name="build.src" location="${build.dir}/src"></property> 70 <property name="build.lib.dir" location="${build.dir}/dist"></property> 71 <!--<property name="execute.class" value="ant.zttc.edu.cn.HelloWorld"/> 72 <property name="jar.name" value="hello.jar"></property> 73 --> 74 75 <!--如果属性太多,可以将属性放置到一个外部文件中定义,之后进行引用 76 特别注意:如果是路径不建议在外部文件中定义,因为此时就不会设置location的值--> 77 <property file="build.properties"></property> 78 79 <!--把环境变量中的参数到处到env这个变量中--> 80 <property environment="env"></property> 81 82 <target name="test"> 83 <echo>${ant.home}</echo> 84 <echo>${ant.version}</echo> 85 <echo>${env.CATALINA_HOME}</echo> 86 <echo>${env.OS}</echo> 87 </target> 88 89 <!--fileset可以设定一组文件集来进行操作,dir指明文件集要进行选择的路径, 90 通过id可以指定这个文件的名称,在使用的时候进行直接的引入 91 include和exclude可以设定包含返回和排除范围**/*.*所有目录中的所有文件 92 --> 93 <fileset id="src.path" dir="src"> 94 <include name="**/*.*"/> 95 <!--<exclude name="**/*.java"/>--> 96 </fileset> 97 98 <target name="init"> 99 <delete dir="${build.dir}"></delete> 100 <mkdir dir="${build.dir}"/> 101 <mkdir dir="${build.src}"/> 102 <mkdir dir="${build.classes}"/> 103 <mkdir dir="${build.lib.dir}"/> 104 </target> 105 106 <target name="copySrc" depends="init"> 107 <copy todir="${build.src}"> 108 <fileset refid="src.path"></fileset> 109 </copy> 110 </target> 111 112 <target name="compile" depends="init"> 113 <javac destdir="${build.classes}" srcdir="src"></javac> 114 </target> 115 116 <target name="jar" depends="compile"> 117 <jar destfile="${build.lib.dir}/${jar.name}" basedir="${build.classes}"> 118 <manifest> 119 <attribute name="Main-Class" value="${execute.class}"/> 120 <attribute name="Build-By" value="Konghao"/> 121 </manifest> 122 </jar> 123 </target> 124 125 <target name="execute" depends="jar,copySrc"> 126 127 <echo>基于类路径的classname来完成执行</echo> 128 <java classname="${execute.class}" classpath="${build.classes}"> 129 <arg value="张三"/> 130 <arg value="李四"/> 131 <arg value="王五"/> 132 </java> 133 134 <echo>基于jar文件执行</echo> 135 <java jar="${build.lib.dir}/${jar.name}" fork="true"> 136 <arg value="张三"/> 137 <arg value="李四"/> 138 <arg value="王五"/> 139 </java> 140 </target> 141 </project>