Linux ant --强大的Java开发构建工具

来源:互联网 发布:java aes 解密算法 编辑:程序博客网 时间:2024/06/03 19:08

    用途说明

    ant严格说来,ant其实并非原生的Linux命令,但它是一个使用广泛、功能强大的跨平台构建工具程序,尤其是进行Java开发时,许多开源的Java项目都使用ant作为构建工具。ant命令一般情况下使用当前目录下的build.xml件作为构建用的配置文件,具体配置文件怎么编写本文不讨论,这个绝对可以展开成一个系列。本文主要演示一下在Linux下怎么安装ant,以及常用方式等。

    官方站点:http://ant.apache.org/

    当前版本:1.8.1

    安装步骤

    安装条件

    必须安装有jdk。下面是官方网站提供的两个注意事项:

    Note:If a JDK is not present, only the JRE runtime, then many tasks will not work.

    Note:Ant 1.8.* works with jdk1.4 and higher, Ant 1.7.* works with jdk1.3 and higher, Ant 1.6.* works with jdk 1.2 and higher, Ant 1.2 to Ant 1.5.* work with jdk 1.1 and higher.

    下载文件

    如果Linux机器不能上公网

    第一步,获取安装包。到http://ant.apache.org/bindownload.cgi下载apache-ant-1.8.1-bin.tar.gz

    第二步,上传到Linux机器。使用sftp或者ftp。

     

    [root@bbqztweb setup]#ls -l

    -rw-r--r--    1 root     root      8264796  5  1 06:03 apache-ant-1.8.1-bin.tar.gz

    如果Linux机器能上公网

    可直接使用wget获取安装包,使用人人网上的镜像文件比较快。如下所示:

    [root@bbqztweb setup]#wget http://labs.renren.com/apache-mirror//ant/binaries/apache-ant-1.8.1-bin.tar.gz

    --21:08:03--  http://labs.renren.com/apache-mirror//ant/binaries/apache-ant-1.8.1-bin.tar.gz

               => `apache-ant-1.8.1-bin.tar.gz'

    正在解析主机 labs.renren.com... 123.129.232.121

    Connecting to labs.renren.com|123.129.232.121|:80... 已连接。

    已发出 HTTP 请求,正在等待回应... 200 OK

    长度:8,264,796 (7.9M) [application/x-gzip]

     

    100%[========================================================================================>] 8,264,796    376.27K/s    ETA 00:00

     

    21:08:30 (314.87 KB/s) - `apache-ant-1.8.1-bin.tar.gz' saved [8264796/8264796]

     

    [root@bbqztweb setup]#ls -l

    -rw-r--r--    1 root     root      8264796  5  1 06:03 apache-ant-1.8.1-bin.tar.gz

     

    解压文件

    [root@bbqztweb setup]#tar zxf apache-ant-1.8.1-bin.tar.gz

    [root@bbqztweb setup]#mkdir -p /opt/apache

    [root@bbqztweb setup]#mv apache-ant-1.8.1 /opt/apache

    [root@bbqztweb setup]#ls /opt/apache

    apache-ant-1.8.0  apache-ant-1.8.1  apache-tomcat-6.0.26  axis2-1.5.1

    设置环境

    编辑文件/etc/profile.d/ant.sh

    [root@web jlib]# vim /etc/profile.d/ant.sh

     

    Bash代码  

    收藏代码

    1. #! /bin/sh  
    2.   
    3. # 2007.01.22 ant 2010.03.18 2010.06.28  
    4. if [ -d /opt/apache/apache-ant-1.8.1 ]; then  
    5.         export ANT_HOME=/opt/apache/apache-ant-1.8.1  
    6. elif [ -d /opt/apache/apache-ant-1.8.0 ]; then  
    7.         export ANT_HOME=/opt/apache/apache-ant-1.8.0  
    8. elif [ -d /usr/apache/apache-ant-1.7.1 ]; then  
    9.         export ANT_HOME=/usr/apache/apache-ant-1.7.1  
    10. elif [ -d /usr/apache/apache-ant-1.7.0 ]; then  
    11.         export ANT_HOME=/usr/apache/apache-ant-1.7.0  
    12. elif [ -d /usr/apache/apache-ant-1.6.5 ]; then  
    13.         export ANT_HOME=/usr/apache/apache-ant-1.6.5  
    14. fi  
    15. if [ $ANT_HOME ]; then  
    16.         [ $PATH ] && PATH=$ANT_HOME/bin:$PATH || PATH=$ANT_HOME/bin  
    17. fi  

     

    重新登录

    [root@web jlib]# echo $ANT_HOME

    /opt/apache/apache-ant-1.8.1

    [root@web jlib]# echo $PATH

    /usr/kerberos/sbin:/usr/kerberos/bin:/opt/apache/apache-ant-1.8.1/bin:/usr/java/jdk1.6.0_20/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

    [root@web jlib]# ant

    Buildfile: build.xml does not exist!

    Build failed

    [root@web jlib]# ant -version

    Apache Ant version 1.8.1 compiled on April 30 2010

    [root@web jlib]#

    常用参数

    -f build.xml 指定不同于build.xml的构建配置文件。

    -version 取版本号。

     

    使用示例

    示例一

    [root@web web_server]#ls -l build.xml

    -rw-r--r-- 1 root root 5978 09-07 19:52 build.xml

    [root@web web_server]#ant

    Buildfile: /opt/web/web_server/build.xml

     

    init:

         [copy] Warning: Could not find file /opt/web/hyjc2/hyjc.jar to copy.

         [copy] Warning: Could not find file /opt/hyjc2/hyjc.jar to copy.

     

    compile:

        [javac] /opt/web/web_server/build.xml:42: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds

     

    BUILD SUCCESSFUL

    Total time: 0 seconds

    [root@web web_server]#

    示例二 指定build文件

    [root@web web_admin]#ls -l tomcat-precompile.xml  

    -rw-r--r-- 1 root root 3091 11-03 11:33 tomcat-precompile.xml

    [root@web web_admin]#ant -f tomcat-precompile.xml     

    Buildfile: /opt/web/web_admin/tomcat-precompile.xml

     

    jspc:

         [echo] Compile JSP in: /opt/web/web_admin/WebRoot/WEB-INF/src

        [javac] /opt/web/web_admin/tomcat-precompile.xml:38: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds

        [javac] Compiling 152 source files to /opt/web/web_admin/WebRoot/WEB-INF/src

        [javac] /opt/web/web_admin/WebRoot/WEB-INF/src/org/apache/jsp/common/download_jsp.java

        [javac] /opt/web/web_admin/WebRoot/WEB-INF/src/org/apache/jsp/common/ip_jsp.java

        [javac] /opt/web/web_admin/WebRoot/WEB-INF/src/org/apache/jsp/common/upfile_jsp.java

        [javac] /opt/web/web_admin/WebRoot/WEB-INF/src/org/apache/jsp/common/upload_jsp.java

        [javac] /opt/web/web_admin/WebRoot/WEB-INF/src/org/apache/jsp/common/upstat_jsp.java

        [javac] /opt/web/web_admin/WebRoot/WEB-INF/src/org/apache/jsp/common/upstop_jsp.java

        [javac] /opt/web/web_admin/WebRoot/WEB-INF/src/org/apache/jsp/fcktest/sample02_jsp.java

        [javac] /opt/web/web_admin/WebRoot/WEB-INF/src/org/apache/jsp/fcktest/sampleposteddata_jsp.java

    此处省略掉了很多输出

        [javac] /opt/web/web_admin/WebRoot/WEB-INF/src/org/apache/jsp/test/counter_jsp.java

        [javac] /opt/web/web_admin/WebRoot/WEB-INF/src/org/apache/jsp/wap/index_jsp.java

        [javac] /opt/web/web_admin/WebRoot/WEB-INF/src/org/apache/jsp/wap/login_jsp.java

        [javac]注意:某些输入文件使用了未经检查或不安全的操作。

        [javac]注意:要了解详细信息,请使用 -Xlint:unchecked重新编译。

     

    dist:

     

    BUILD SUCCESSFUL

    Total time: 6 seconds

    [root@web web_admin]#

     

0 0
原创粉丝点击