<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    I want to fly higher
    programming Explorer
    posts - 114,comments - 263,trackbacks - 0

    1.http://ant.apache.org/
         1.下載:apache-ant-1.9.3-bin.zip
         2.解壓到C盤.
         3.設置環境變量PATH:C:\apache-ant-1.9.3\bin
         4.cmd下輸入:ant -version
          Apache Ant(TM) version 1.9.3 compiled on December 23 2013

    2.ant -help
     ant [options] [target [target2 [target3] ...]]

         常用:
         1.ant 使用當前目錄下的build.xml運行Ant,執行缺省的target
         2.ant -buildfile mavs.xml 使用當前目錄下的build.xml運行Ant,執行缺省的target
         3.ant -buildfile mavs.xml dist 使用當前目錄下的mavs.xml運行Ant,執行一個叫做dist的target
         4.-D選項可以設置屬性值

    3.Ant的4個核心元素:project、target、property、task

    4.project元素:
         1.project元素是Ant構件文件的根元素,Ant構件文件至少應該包含一個project元素,否則會發生錯誤。在每個project元素下,可包含多個target元素
         2.name屬性:用于指定project元素的名稱
         3.default屬性:用于指定project默認執行時所執行的target的名稱
         3.basedir屬性:用于指定基路徑的位置。該屬性沒有指定時,使用Ant的構件文件的父目錄作為基準目錄.

    5.target元素
         1.它為Ant的基本執行單元,它可以包含一個或多個具體的任務。多個target可以存在相互依賴關系
         2.name屬性:指定target元素的名稱,這個屬性在一個project元素中是唯一的。我們可以通過指定target元素的名稱來指定某個target
         3.depends屬性:用于描述target之間的依賴關系,若與多個target存在依賴關系時,需要以“,”間隔。Ant會依照depends屬性中target出現的順序依次執行每個target。被依賴的target會先執行
         4.if屬性:用于驗證指定的屬性是否存在,若不存在,所在target將不會被執行
         5.unless屬性:該屬性的功能與if屬性的功能正好相反,它也用于驗證指定的屬性是否存在,若不存在,所在target將會被執行。
         6.description屬性:該屬性是關于target功能的簡短描述和說明

    6.property元素
         1.該元素可看作參量或者參數的定義,project的屬性可以通過property元素來設定,也可在Ant之外設定。若要在外部引入某文件,例如build.properties文件,可以通過如下內容將其引入:<property file=” build.properties”/>
         2.property元素可用作task的屬性值。在task中是通過將屬性名放在“${”和“}”之間,并放在task屬性值的位置來實現的
         3.Ant提供了一些內置的屬性,它能得到的系統屬性的列表與Java文檔中System.getPropertis()方法得到的屬性一致
          java.version Java 運行時環境版本 
          java.vendor Java 運行時環境供應商 
          java.vendor.url Java 供應商的 URL 
          java.home Java 安裝目錄 
          java.vm.specification.version Java 虛擬機規范版本 
          java.vm.specification.vendor Java 虛擬機規范供應商 
          java.vm.specification.name Java 虛擬機規范名稱 
          java.vm.version Java 虛擬機實現版本 
          java.vm.vendor Java 虛擬機實現供應商 
          java.vm.name Java 虛擬機實現名稱 
          java.specification.version Java 運行時環境規范版本 
          java.specification.vendor Java 運行時環境規范供應商 
          java.specification.name Java 運行時環境規范名稱 
          java.class.version Java 類格式版本號 
          java.class.path Java 類路徑 
          java.library.path 加載庫時搜索的路徑列表 
          java.io.tmpdir 默認的臨時文件路徑 
          java.compiler 要使用的 JIT 編譯器的名稱 
          java.ext.dirs 一個或多個擴展目錄的路徑 
          os.name 操作系統的名稱 
          os.arch 操作系統的架構 
          os.version 操作系統的版本 
          file.separator 文件分隔符(在 UNIX 系統中是“/”) 
          path.separator 路徑分隔符(在 UNIX 系統中是“:”) 
          line.separator 行分隔符(在 UNIX 系統中是“/n”) 
          user.name 用戶的賬戶名稱 
          user.home 用戶的主目錄 
          user.dir 用戶的當前工作目錄
         4.Ant還提供了一些它自己的內置屬性
          basedir:project基目錄的絕對路徑
          ant.file:buildfile的絕對路徑
          ant.version:Ant的版本
          ant.project.name:當前指定的project的名字
          ant.java.version:Ant檢測到的JDK的版本

    7.ant常用任務
         1.copy任務:文件和目錄的復制
          其常用屬性包括file/tofile/todir/
          另外fileset定義的是源目錄的組成形式,<include/>子屬性表示包括,<exclude/>子屬性表示排除
         2.delete任務:對文件或目錄進行刪除
          其常用屬性包括file/dir
          可通過fileset指定includes/excludes
         3.mkdir任務:創建目錄
         4.move任務:移動文件或目錄
          其常用屬性包括file/tofile/todir
         5.echo任務:根據日志或監控器的級別輸出信息
          其常用屬性包括message/file/append/level/encoding等.
         6.javac任務:編譯
          其常用屬性包括srcdir/destdir/classpath/debug等.
         7.jar任務:jar
          其常用屬性包括destfile/basedir/manifest等.
         8.war任務:war
          其常用屬性包括destfile/warfile/webxml等.
         9.java任務:運行
          其常用屬性包括classname/jar/args等.

    8.ant manual
     1.在線:http://ant.apache.org/manual/index.html
     2.離線下載:http://ant.apache.org/manualdownload.cgi

    9.附本機的一個build.xml
        1.workspace包括mina-2.0.7源碼工程,mavs_common工程;mavs_protocol工程;mavs_example工程
        2.mina工程內有lib目錄,為編譯mina源碼所需的jar
        3.mavs_common工程依賴mina工程,也有一個lib目錄為其余工程提供jar
        3.mavs_example工程依賴protocol工程,prototol工程依賴common工程
         該build.xml用來編譯mina源碼以及mavs項目并且發布.
        

    <?xml version="1.0" encoding="UTF-8"?>

    <project name="mavs" default="dist-mina" basedir=".">
        
        
    <!-- apache-mina源碼工程屬性 -->
        
    <property name="src.mina.dir" location="${basedir}/../apache-mina-2.0.7"/>
        
    <property name="src.mina.core.dir" location="${src.mina.dir}/mina-core"/>
        
    <property name="src.mina.example.dir" location="${src.mina.dir}/mina-example"/>
        
    <property name="src.mina.compression.dir" location="${src.mina.dir}/mina-filter-compression"/>
        
    <property name="src.mina.http.dir" location="${src.mina.dir}/mina-http"/>
        
    <property name="src.mina.beans.dir" location="${src.mina.dir}/mina-integration-beans"/>
        
    <property name="src.mina.jmx.dir" location="${src.mina.dir}/mina-integration-jmx"/>
        
    <property name="src.mina.ognl.dir" location="${src.mina.dir}/mina-integration-ognl"/>
        
    <property name="src.mina.xbean.dir" location="${src.mina.dir}/mina-integration-xbean"/>
        
    <property name="src.mina.statemachine.dir" location="${src.mina.dir}/mina-statemachine"/>
        
    <property name="src.mina.apr.dir" location="${src.mina.dir}/mina-transport-apr"/>
        
    <property name="src.mina.serial.dir" location="${src.mina.dir}/mina-transport-serial"/>
        
    <property name="src.mina.test.dir" location="${src.mina.dir}/test"/>
        
        
    <!-- mavs源碼工程屬性 -->
        
    <property name="src.mavs.common.dir" location="${basedir}/../mavs_common/src"/>
        
    <property name="src.mavs.protocol.dir" location="${basedir}/../mavs_protocol/src"/>
        
    <property name="src.mavs.example.dir" location="${basedir}/../mavs_example/src"/>
        
    <property name="mavs.common.lib.dir" location="${basedir}/../mavs_common/lib"/>
        
    <property name="mavs.example.resource.dir" location="${basedir}/../mavs_example/resource"/>
        
        
        
    <property name="build.dir" value="build"/>
        
    <property name="build.class.dir" location="${build.dir}/classes"/>
        
    <property name="build.lib.dir" location="${build.dir}/lib"/>
        
    <property name="build.resource.dir" location="${build.dir}/resource"/>
        
        
    <property name="build.dist.mina.dir" location="${build.dir}/dist/mina"/>
        
    <property name="build.dist.mavs.dir" location="${build.dir}/dist/mavs"/>
        
        
    <property name="dist.mina.jar" value="mina-2.0.7.jar"/>
        
    <property name="dist.mavs.jar" value="mavs.jar"/>
        
        
    <!--指定編譯的lib cp-->
        
    <path id="project.classpath">
            
    <fileset dir="${build.lib.dir}">
                
    <include name="**/*.jar"/>
            
    </fileset>
        
    </path>
        
         
    <!-- Tasks -->
        
        
    <target name="clean">
            
    <delete dir="${build.dir}"></delete>
        
    </target>
            
        
    <target name="init" depends="clean">
            
    <mkdir dir="${build.dir}"/>
            
    <mkdir dir="${build.class.dir}"/>
            
    <mkdir dir="${build.lib.dir}"/>
            
    <mkdir dir="${build.dist.mina.dir}"/>
            
    <mkdir dir="${build.dist.mavs.dir}"/>
            
    <mkdir dir="${build.resource.dir}"/>
            
            
    <!-- 拷貝lib -->
            
    <copy todir="${build.lib.dir}">
                
    <fileset dir="${src.mina.dir}/lib"></fileset>
                
    <fileset dir="${mavs.common.lib.dir}"></fileset>
            
    </copy>
        
    </target>

        
    <!-- 編譯apache-mina-2.0.7 -->
        
    <target name="compile-mina" depends="init">
            
    <javac srcdir="${src.mina.core.dir}" destdir="${build.class.dir}" debug="on" encoding="UTF-8">
                
    <classpath refid="project.classpath"></classpath>
            
    </javac>
            
    <javac srcdir="${src.mina.compression.dir}" destdir="${build.class.dir}" debug="on" encoding="UTF-8">
                
    <classpath refid="project.classpath"></classpath>
            
    </javac>
            
    <javac srcdir="${src.mina.http.dir}" destdir="${build.class.dir}" debug="on" encoding="UTF-8">
                
    <classpath refid="project.classpath"></classpath>
            
    </javac>
            
    <javac srcdir="${src.mina.beans.dir}" destdir="${build.class.dir}" debug="on" encoding="UTF-8">
                
    <classpath refid="project.classpath"></classpath>
            
    </javac>
            
    <javac srcdir="${src.mina.ognl.dir}" destdir="${build.class.dir}" debug="on" encoding="UTF-8">
                
    <classpath refid="project.classpath"></classpath>
            
    </javac>
            
    <javac srcdir="${src.mina.xbean.dir}" destdir="${build.class.dir}" debug="on" encoding="UTF-8">
                
    <classpath refid="project.classpath"></classpath>
            
    </javac>
            
    <javac srcdir="${src.mina.statemachine.dir}" destdir="${build.class.dir}" debug="on" encoding="UTF-8">
                
    <classpath refid="project.classpath"></classpath>
            
    </javac>
            
    <javac srcdir="${src.mina.apr.dir}" destdir="${build.class.dir}" debug="on" encoding="UTF-8">
                
    <classpath refid="project.classpath"></classpath>
            
    </javac>
            
    <javac srcdir="${src.mina.serial.dir}" destdir="${build.class.dir}" debug="on" encoding="UTF-8">
                
    <classpath refid="project.classpath"></classpath>
            
    </javac>
            
    <javac srcdir="${src.mina.jmx.dir}" destdir="${build.class.dir}" debug="on" encoding="UTF-8">
                
    <classpath refid="project.classpath"></classpath>
            
    </javac>
            
    <javac srcdir="${src.mina.example.dir}" destdir="${build.class.dir}" debug="on" encoding="UTF-8">
                
    <classpath refid="project.classpath"></classpath>
            
    </javac>
        
    </target>
        
        
    <!-- 打包mina -->
        
    <target name="dist-mina" depends ="compile-mina">
            
    <jar destfile="${build.dist.mina.dir}/${dist.mina.jar}" basedir="${build.class.dir}"></jar>
        
    </target>
        
        
    <!-- 編譯mavs -->
        
    <target name="compile-mavs" depends = "compile-mina">
            
    <javac srcdir="${src.mavs.common.dir}" destdir="${build.class.dir}" debug="on" classpathref="project.classpath" encoding="UTF-8">
            
    </javac>
            
    <javac srcdir="${src.mavs.protocol.dir}" destdir="${build.class.dir}" debug="on" classpathref="project.classpath" encoding="UTF-8">
            
    </javac>
            
    <javac srcdir="${src.mavs.example.dir}" destdir="${build.class.dir}" debug="on" classpathref="project.classpath" encoding="UTF-8">
            
    </javac>
            
    <!-- 拷貝example下的resource目錄 -->
            
    <copy todir="${build.resource.dir}">
                
    <fileset dir="${mavs.example.resource.dir}"></fileset>
            
    </copy>
        
    </target>
        
        
    <!-- 打包mavs -->
        
    <target name="dist-mavs" depends ="compile-mavs">
            
    <jar destfile="${build.dist.mavs.dir}/${dist.mavs.jar}" basedir="${build.class.dir}"></jar>
            
    <!-- 刪除classes并拷貝jar至build根目錄 -->
            
    <delete dir="${build.class.dir}"></delete>
            
    <copy file="${build.dist.mavs.dir}/${dist.mavs.jar}" todir="${build.dir}"></copy>
        
    </target>

    </project>

     

    posted on 2014-02-01 20:40 landon 閱讀(1876) 評論(1)  編輯  收藏 所屬分類: Utils

    FeedBack:
    # re: Apache Ant基礎
    2014-02-23 21:55 | GoDaddy
    學習了Apache Ant基礎  回復  更多評論
      
    主站蜘蛛池模板: 欧洲亚洲国产精华液| 人人玩人人添人人澡免费| 国产精品免费看久久久| 美女视频黄频a免费| 免费观看午夜在线欧差毛片| 久久无码av亚洲精品色午夜| 免费国产成人高清在线观看麻豆 | 四虎免费影院ww4164h| 久久亚洲私人国产精品vA| 午夜老司机永久免费看片| 久久久久亚洲精品无码网址| 亚洲免费一区二区| 亚洲人成网亚洲欧洲无码久久| 中文精品人人永久免费| 久久亚洲av无码精品浪潮| 两个人看的www免费视频| 亚洲综合在线视频| 黄色片在线免费观看| 亚洲av第一网站久章草| 国产乱辈通伦影片在线播放亚洲 | 亚洲AV综合色一区二区三区| 亚洲免费人成在线视频观看| 老汉色老汉首页a亚洲| 亚洲人成电影网站免费| 国产精品亚洲专区在线播放| 国产亚洲精品精品国产亚洲综合 | 18禁超污无遮挡无码免费网站| 久久久久亚洲av无码专区| 国产成人yy免费视频| 国产成人亚洲综合a∨| 亚洲大尺度无码专区尤物| 国产卡一卡二卡三免费入口| 高潮毛片无遮挡高清免费| 亚洲AV日韩精品久久久久久| 97在线线免费观看视频在线观看| 羞羞的视频在线免费观看| 亚洲国产二区三区久久| 日韩中文字幕免费| 午夜影院免费观看| 亚洲AV噜噜一区二区三区| 亚洲人成网址在线观看|