build.properties(如果属性很多,可以放在属性文件中,然后再build.xml中引用)
execute.class = org.test.ant.HelloWorld
jar.name =world.jar
build.xml
<?xml version=”1.0″ encoding=”UTF-8″?>
<project default=”execute”>
<!–使用属性定义路径时,一定使用location,而不要使用value–>
<property name=”build.dir” location=”build”></property><!–name用${name}来引用,id用refid=”id”来引用–>
<property name=”src.dir” location=”src”></property>
<property name=”build.src” location=”${build.dir}/src”></property>
<property name=”build.classes” location=”${build.dir}/classes”></property>
<property name=”build.dist” location=”${build.dir}/dist”></property>
<!–
<property name=”execute.class” value=”org.test.ant.HelloWorld”></property>
<property name=”jar.name” value=”hello.jar”></property>
–>
<!–如果属性过多,可以放在外部文件中定义,但路径location不建议放在外部文件中,引用外部properties属性文件,如下–>
<property file=”build.properties”></property>
<!–文件集dir=”.”表当前目录,即build.xml所在的目录。includes=”**/*.java” 表示包含当前目录及子目录下,所有以.java结尾的文件,id可以被引用–>
<fileset id=”src.path” dir=”.” includes=”**/*.java”></fileset>
<!–初始化,新建文件夹,直接写dir目录的写法–>
<target name=”init0″>
<delete dir=”build”></delete>
<mkdir dir=”build”/>
<mkdir dir=”build/src”/>
<mkdir dir=”build/classes”/>
<mkdir dir=”build/dist”/>
</target>
<!–初始化,新建文件夹,通过${name}引用dir目录的写法–>
<target name=”init”>
<delete dir=”${build.dir}”></delete>
<mkdir dir=”${build.dir}”/>
<mkdir dir=”${build.src}”/>
<mkdir dir=”${build.classes}”/>
<mkdir dir=”${build.dist}”/>
</target>
<target name=”copySrc” depends=”init”>
<copy todir=”${build.src}”>
<fileset refid=”src.path”></fileset><!–拷贝文件集,用refid引用id为src.path的文件集–>
</copy>
</target>
<target name=”complie” depends=”init”>
<javac destdir=”${build.classes}” srcdir=”${src.dir}” ></javac>
</target>
<target name=”jar” depends=”complie”>
<jar destfile=”build/dist/hello.jar” basedir=”build/classes”>
<manifest>
<attribute name=”Main-Class” value=”org.test.ant.HelloWorld”/>
<attribute name=”Build-By” value=”Sawliet”/>
</manifest>
</jar>
</target>
<target name=”execute” depends=”jar”>
<echo>基于类路径的classname来完成执行</echo>
<java classname=”${execute.class}” classpath=”${build.classes}”>
<arg value=”jack”/>
<arg value=”tom”/>
<arg value=”steven”/>
</java>
<echo>基于jar文件执行</echo>
<java jar=”${build.dist}/${jar.name}” fork=”true”><!–使用jdk自带的编译,不使用ant编译–>
<arg value=”jack”/>
<arg value=”tom”/>
<arg value=”steven”/>
</java>
</target>
<target name=”test”>
<property environment=”env”></property>
<echo>${env.TOMCAT_HOME}</echo>
<echo>${env.OS}</echo>
<echo>${env.JAVA_HOME}</echo>
</target>
</project>
HelloWorld.java
package org.test.ant;
public class HelloWorld {
public static void main(String[] args) {
for(String arg:args)
{
System.out.println(“hello–“+arg);
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/35612.html