说明
1.一个标准的,通用的ant脚本。可以在此基础上进行修改拓展,满足应用。
2.该配置文件包含5个target。执行这5个target使用如下命令:
(1)ant help :生成该文件的帮助信息。
(2)ant compile :编译java文件。
(3)ant run :运行 lee.HelloTest类。
(4)ant build :将classes路径下所有class文件打包成 app.jar,并放到dest目录下。
(5)ant clean :删除classes和dest两个目录。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
<?xml version="1.0" encoding="GBK"?> <!-- 定义生成文件的project根元素,默认的target为空 --> <project name="antQs" basedir="." default=""> <!-- 定义三个简单属性 --> <property name="src" value="src"/> <property name="classes" value="classes"/> <property name="dest" value="dest"/> <!-- 定义一组文件和目录集 --> <path id="classpath"> <pathelement path="${classes}"/> </path> <!-- 定义help target,用于输出该生成文件的帮助信息 --> <target name="help" description="打印帮助信息"> <echo>help - 打印帮助信息</echo> <echo>compile - 编译Java源文件</echo> <echo>run - 运行程序</echo> <echo>build - 打包JAR包</echo> <echo>clean - 清除所有编译生成的文件</echo> </target> <!-- 定义compile target,用于编译Java源文件 --> <target name="compile" description="编译Java源文件"> <!-- 先删除classes属性所代表的文件夹 --> <delete dir="${classes}"/> <!-- 创建classes属性所代表的文件夹 --> <mkdir dir="${classes}"/> <!-- 编译Java文件,编译后的class文件放到classes属性所代表的文件夹内 --> <javac destdir="${classes}" debug="true" includeantruntime="yes" deprecation="false" optimize="false" failonerror="true"> <!-- 指定需要编译的Java文件所在的位置 --> <src path="${src}"/> <!-- 指定编译Java文件所需要第三方类库所在的位置 --> <classpath refid="classpath"/> </javac> </target> <!-- 定义run target,用于运行Java源文件, 运行该target之前会先运行compile target --> <target name="run" description="运行程序" depends="compile"> <!-- 运行lee.HelloTest类,其中fork指定启动另一个JVM来执行java命令 --> <java classname="lee.HelloTest" fork="yes" failonerror="true"> <classpath refid="classpath"/> <!-- 运行Java程序时传入2个参数 --> <arg line="测试参数1 测试参数2"/> </java> </target> <!-- 定义build target,用于打包JAR文件, 运行该target之前会先运行compile target --> <target name="build" description="打包JAR文件" depends="compile"> <!-- 先删除dest属性所代表的文件夹 --> <delete dir="${dest}"/> <!-- 创建dest属性所代表的文件夹 --> <mkdir dir="${dest}"/> <!-- 指定将classes属性所代表的文件夹下的所有 *.classes文件都打包到app.jar文件中 --> <jar destfile="${dest}/app.jar" basedir="${classes}" includes="**/*.class"> <!-- 为JAR包的清单文件添加属性 --> <manifest> <attribute name="Main-Class" value="lee.HelloTest"/> </manifest> </jar> </target> <!-- 定义clean target,用于删除所有编译生成的文件 --> <target name="clean" description="清除所有编译生成的文件"> <!-- 删除两个目录,目录下的文件也一并删除 --> <delete dir="${classes}"/> <delete dir="${dest}"/> </target> </project> |
发表评论
难的是和自己保持联系~