Ant学习例子1(用ant打jar包,并运行HelloWorld)

Ant学习例子1(用ant打jar包,并运行HelloWorld)build.properties(如果属性很多,可以放在属性文件中,然后再build.xml中引用)execute.class=org.test.ant.HelloWorldjar.name=world.jarbuild.xml


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

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注