浏览 1940 次
锁定老帖子 主题:ant文件简要介绍
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-07-03
import java.io.IOException; /** *HelloWorld */ public class HelloWorld{ public static void main(String[] args)throws IOException{ System.out.println("HelloWorld!"); } } 针对这个java类进行打包的ant file如下: <?xml version="1.0" encoding="UTF-8"?> <project default="build" basedir="."> <property name="appname" value="HelloWorld" /> <property name="base" value="." /> <property name="src.dir" value="${base}\src" /> <property name="lib.dir" value="${base}\lib" /> <property name="dist.dir" value="${base}\dist" /> <property name="classes.dir" value="${base}\classes" /> <!--初始化基本信息如路径等--> <target name="init"> <mkdir dir="${base}\classes"/> <mkdir dir="${base}\dist"/> <echo message="create folder successful"/> </target> <!--将src.dir下的所有java文件进行编译--> <target name="build" depends="init"> <javac srcdir="${src.dir}" destdir="${classes.dir}"> <include name="**/*.java" /> </javac> <!--将${classes}目录及${src.dir}目录下的文件都打包成test.jar其中所有Test.class除外--> <jar destfile="${dist.dir}/test.jar"> <fileset dir="${classes.dir}" excludes="**/Test.class" /> <!-- 指定Main-class--> <manifest> <attribute name="Main-class" value="HelloWorld"/> </manifest> </jar> <!--将lib.dir下的所有class及jar文件copy到dist.dir目录下--> <copy todir="${dist.dir}" overwrite="true" flatten="true"> <fileset dir="${lib.dir}"> <include name="*.class" /> <include name="*.jar" /> </fileset> </copy> </target> <!--运行一个类,类名为HelloWorld--> <target name="run" depends="build"> <java classname="HelloWorld"> <classpath> <pathelement path="${classes.dir}"/> </classpath> </java> </target> <!--清除classes.dir及dist.dir下的所有内容--> <target name="clean" depends="init"> <delete includeEmptyDirs="false"> <fileset dir="${classes.dir}" /> <fileset dir="${dist.dir}" /> </delete> </target> </project> 运行结果如下: E:\anttest>ant Buildfile: build.xml init: [mkdir] Created dir: E:\anttest\classes [mkdir] Created dir: E:\anttest\dist [echo] create folder successful build: [javac] Compiling 1 source file to E:\anttest\classes [jar] Building jar: E:\anttest\dist\test.jar [copy] Copying 2 files to E:\anttest\dist BUILD SUCCESSFUL Total time: 1 second 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-07-15
一个通过jar来启动的build文件
<?xml version="1.0" encoding="UTF-8"?> <project default="run" basedir="." name="Demo"> <property name="src.dir" value="src"/> <property name="build.dir" value="build"/> <property name="classes.dir" value="${build.dir}/classes"/> <property name="jar.dir" value="${build.dir}/jar"/> <property name="main-class" value="com.chris.demo.TestJFrame"/> <property name="lib.dir" value="lib"/> <path id="classpath"> <fileset dir="${lib.dir}" includes="**/*.jar"/> </path> <target name="clean"> <delete dir="${build.dir}"/> </target> <target name="compile"> <mkdir dir="${classes.dir}"/> <javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath"/> </target> <target name="jar" depends="compile"> <mkdir dir="${jar.dir}"/> <jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}"> <manifest> <attribute name="Main-Class" value="${main-class}"/> </manifest> </jar> </target> <target name="run" depends="jar"> <java fork="true" classname="${main-class}"> <classpath> <path refid="classpath"/> <path location="${jar.dir}/${ant.project.name}.jar"/> </classpath> </java> </target> <target name="clean-build" depends="clean,jar"/> <target name="main" depends="clean,run"/> </project> |
|
返回顶楼 | |