zoukankan      html  css  js  c++  java
  • Hello World with Ant

            都说Linux环境下的程序员如果不会使用GNU make来构建和管理自己的工程,应该不能算是一个合格的专业程序员,至少不能称得上是Unix程序员。

            而在一说到Ant的时候,很多人就把这两个的功能对比来说,所以是否可以这样说呢?如果不能用Ant来构建和管理自己的工程,应该不能算是一个合格的Java工程师呢?关于Ant和make的关系,这里只说一句,与make相比,Ant完全由Java实现,具有跨平台的好处。

            说了这么多,那么Ant到底是用来干什么呢?你如果从网上查,都会这样告诉你,这是一个构建工具,但又不仅限于构建。例如可以和Xdoclet配合生成Hibernate配置文件和Hibernate映射文件。

            要使用,就得下载、安装,那么就先说一下下载安装。

            自己度娘或谷哥找一下Ant,然后解压。接下来就埼一些配置:

            设定ANT_HOME环境变量,指向你解压的Ant目录。然后在Path中添加%ANT_HOME%in。这里小科普一下,你在cmd中运行某个命令时,报不是内部命令这种错的时候,就看一下这个命令所在的路径是不是在Path中。

            完事之后,打开cmd,打一下ant -version,看会不会出现ant的版本信息,如果出现了呢就说明你的ant已经安装好了。

            下面就开始进入Ant的天堂了,首先来了解一下Ant的基本使用

            首先,建立一建立一个空的文件夹,我命名为testAnt,在这个文件夹中建立一src/jianxin/ant的目录,在ant中建立一个HelloWorld.java文件:

    package jianxin.ant;
    public class HelloWorld{
    	public static void main(String[] args){
    		System.out.println("Hello World");
    	}
    }


            然后,在在testAnt中建立build.xml文件

    <project name="HelloWorld" basedir="." default="main">
    
        <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="jianxin.ant.HelloWorld"/>
    
        <target name="clean">
            <delete dir="${build.dir}"/>
        </target>
    
        <target name="compile">
            <mkdir dir="${classes.dir}"/>
            <javac srcdir="${src.dir}" destdir="${classes.dir}"/>
        </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 jar="${jar.dir}/${ant.project.name}.jar" fork="true"/>
        </target>
    
        <target name="clean-build" depends="clean,jar"/>
    
        <target name="main" depends="clean,run"/>
    
    </project>


            打开cmd窗口,进入testAnt的根目录,运行ant:

            

            至此,一个工程中需要的清理、编译、打包、运行就都通过Ant帮助我们完成了。

            此文只是一个Ant的Hello World,从上面的build的编写中不难发现一些熟悉的字样,deltete、mkdir、javac、jar、java…,这些命令在cmd的命令行中都是存在的,所以无论Ant如何变化,只要用你能手动写cmd来完成对项目的管理,那么都可以通过查询Ant的文档,然后编写Ant来自动完成,现在来看,Ant被主要被用来构建,但又不局限于构建,就清楚明白了。

            关于project、target,property三个标签,不多说,自己做一遍上面我敲的例子后,如果还是不明白,那么留言讨论。

  • 相关阅读:
    SpringBoot启动方式
    自制反汇编逆向分析工具
    libdispatch.dylib中dispatch_group的实现
    深入ObjC GCD中的dispatch group工作原理。
    objc反汇编分析,手工逆向libsystem_blocks.dylib
    UML分析AsyncDisplayKit框架-ASMuplexImageNode异步下载时序图。
    objc反汇编分析,block函数块为何物?
    apple平台下的objc的GCD,多线程编程就是优雅自然。
    AsyncDisplayKit编译和使用注意事项
    反汇编objc分析__block
  • 原文地址:https://www.cnblogs.com/pangblog/p/3241288.html
Copyright © 2011-2022 走看看