javac
Ant的javac任务用于实现编译Java程序的功能。下面来看一个简单的例子: 首先我们建立名为antstudy的Java工程,建立src目录为源代码目录,在src目录下建立HelloWorld.java这个类文件。该类文件的内容如下: public class HelloWorld {public static void main(String[] args) {System.out.println("Hello,Amigo");} } 同时在antstudy工程的根目录下建立build.xml文件,在该文件中编译src目录下的java文件,并将编译后的class文件放入build/classes目录中,在编译前,需清除classes目录,该文件的内容如下:
<?xml version="1.0"?>
<!- javac .java编译为.class -->
<project name="javacTest" default="compile" basedir=".">
<target name="clean">
<delete dir="build"/>
</target>
<target name="compile" depends="clean">
<mkdir dir="build/classes"/>
<javac srcdir="src" destdir="build/classes"/>
</target>
</project>
java 与 jar
<?xml version="1.0"?>
<!- java运行 与 jar打包 -->
<project name="javaTest" default="jar" basedir=".">
<target name="clean">
<delete dir="build"/>
</target>
<target name="compile" depends="clean">
<mkdir dir="build/classes"/>
<javac srcdir="src" destdir="build/classes"/>
</target>
<target name="run" depends="compile">
<java classname="HelloWorld">
<classpath>
<pathelement path="build/classes"/>
</classpath>
</java>
</target>
<target name="jar" depends="run">
<jar destfile="helloworld.jar" basedir="build/classes">
<manifest>
<attribute name="Main-class" value="HelloWorld"/>
</manifest>
</jar>
</target>
</project>
系统命令
在target标签内嵌入exec标签即可执行系统命令。
exec标签内的arg标签有两个常用参数。
values 是一个命令参数。如果参数中有空格,但又想将它作为单独一个值,则使用此属性。
line 表示用空格分隔的多个参数列表。
windows
Windows必须加 /c,。
<?xml version="1.0" ?>
<project name="shell" default="test_cmd" basedir=".">
<target name="test_cmd">
<echo>cmd test</echo>
<exec executable="cmd">
<arg line="/c echo