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

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

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

    道非道 非常道

    勤思、謹言、慎行、厚積、薄發

    統計

    web

    天圓

    經濟 政治 軍事

    鍵康

    [轉]ANT 打包編譯部署工具 學習筆記

    1.安裝apache-ant-1.5.4或其他版本

    2.配置環境變量:

        ANT_HOME=ant安裝目錄  

        PATH=%PATH%;%ANT_HOME%\bin                 
        設置完成后,輸入 ant -v
         顯示如下:
                  

    1Apache Ant version 1.7.1 compiled on June 27 2008
    2Buildfile: build.xml does not exist!
    3Build failed

          說明成功。                                                            

    3.build.xml

    <!--Ant(another neat tool---另一個整潔的工具)-->

    <?xml version="1.0"?>
    <project default="dist" name="Project A">
        
    <description>
            一段描述信息,沒有實際作用。
        
    </description>
        
    <!--property 元素相當于變量,存放一定的值,一旦給定以后不能改變,只能通過控制臺命令行給初始值。
                    一般用 value 給其賦值,這里用 location 代替 value 是因為 location 屬性專門設
                    計用于以平臺無關的方式包含文件系統路徑,也就是當前路徑。
    -->
        
    <property name="srcDir" location="."/>
        
    <property name="buildDir" location="classes"/>
        
    <property name="distDir" location="dist"/>
        
        
    <!--一個target 元素就是一個任務,一個步驟,如果命令行沒有指定開始任務,則由 project 元素的 default 屬性決定要執行的任務-->
        
    <target name="init" description="在元素中指定描述信息!">
            
    <echo message="這里的信息將被輸出到控制臺!">
            
    <!--tstamp 元素一般不定義屬性和內容,不產生任何輸出;相反,它根據當前系統時間和日期設置 Ant 以下屬性:
            屬性                說明                                    例子
            DSTAMP            設置為當前日期,默認格式為yyyymmdd        20031217
            TSTAMP            設置為當前時間,默認格式為hhmm            1603
            TODAY            設置為當前日期,帶完整的月份            2003 年12 月17 日
    -->
            
    <tstamp/>
            
    <!--mkdir 元素用來創建目錄 dir 屬性用來指定目錄路徑-->
            
    <!--delete 元素用來刪除目錄 ${buildDir} 引用 property 元素指定的 name 為 buildDir 的屬性變量-->
            
    <mkdir dir="${buildDir}"/>
            
    <mkdir dir="${distDir}"/>
            
    <!--文件操作:
                <copy file="src/Test.java" tofile="src/TestCopy.java"/> 把文件 Test.java 拷貝一份 TestCopy.java 
                <move file="src/Test.java" tofile="src/TestCopy.java"/> 把文件 Test.java 重新命名為 TestCopy.java
                <copy file="src/Test.java" todir="archive"/> 把文件 Test.java 從 src 目錄復制一份到 archive 目錄下
                <move file="src/Test.java" todir="archive"/> 把文件 Test.java 從 src 目錄下移動到 archive 目錄下
                <replace file="input.txt" token="old" value="new"/>replace 任務,它執行文件中的查找和替換操作。
                token 屬性指定要查找的字符串,
                value 屬性指定一個新的字符串,
                查找到的標記字符串的所有實例都被替換為這個新的字符串.
                替換操作將在文件本身之內的適當位置進行。為了提供更詳細的輸出,可把 summary 屬性設置為
                true。這將導致該任務輸出找到和替換的標記字符串實例的數目。
                <copy todir="archive">---使用模式匹配復制多個文件
                    <fileset dir="src">--fileset 代替 file 屬性
                        <include name="*.java"/>--包含 src 目錄下所有的 *.java 文件
                        <exclude name="*.class"/>--不包含 src 目錄下所有的 *.class 文件
                    </fileset>
                </copy>
    -->
        
    </target>

        
    <!--target 元素的 depends 屬性用來設置多個 target 元素之間的依賴關系,如果要執行某個任務,必須先執行 depends 屬性指定的所有
            它所依賴的 target 元素,只有它所依賴的所有 target 元素都執行完了才能執行它自己
    -->
        
    <target name="com" depends="init">
            
    <!--javac 元素把 srcdir 指定目錄下所有 *.java 文件編譯成 *.class 文件到 destdir 指定的目錄下!
                如果不指定 destdir 屬性,那么默認編譯到同一目錄下。其他屬性:
                 classpath:等價于javac 的-classpath 選項。
                 debug="true":指示編譯器應該帶調試信息編譯源文件。
                 fork="true":當你希望指定編譯器的某些內存選項,或者需要使用一種不同級別的編譯器的時候。該屬性設置為“true”
                 executable="d:sdk141injavac":指定一個不同的 javac 可執行文件。
                 memoryMaximumSize="128m":向上邊指定的 javac 傳遞一個最大內存設置
    -->
            
    <javac srcdir="${srcDir}" destdir="${buildDir}"/>
        
    </target>

        
    <target name="dist" depends="com">
            
    <!--jar 元素:在編譯 Java 源文件之后,結果類文件通常被打包到一個 JAR 文件中,這個文件類似 zip 歸檔文
                件。每個 JAR 文件都包含一個清單文件,它可以指定該 JAR 文件的屬性。
                還可以把目錄下的所有內容打包為 WAR 文件
                destfile:打包后的文件全名
                basedir:要打包的文件路徑
    -->
            
    <jar destfile="${distDir}/package-${DSTAMP}.jar" basedir="${buildDir}">
                
    <!--manifest 屬性允許指定一個用作該 JAR 文件的清單的文件。清單文件的內容還可以使用 manifest
                    任務在生成文件中指定。這個任務能夠像文件系統寫入一個清單文件,或者能夠實際嵌套在 jar 之
                    內,以便一次性地創建清單文件和 JAR 文件。
    -->
                
    <manifest>
                    
    <attribute name="Built-By" value="${user.name}"/>
                    
    <attribute name="Main-Class" value="package.Main"/>
                
    </manifest>
            
    </jar>
            
    <jar destfile="${distDir}/package-src-${DSTAMP}.jar" basedir="${srcDir}"/>
        
    </target>

        
    <target name="zip" depends="dist">
            
    <!--zip 元素用來創建 zip 包,和 jar 元素相似-->
            
    <zip destfile="output.zip" basedir="output"/>
            
    <!--相同的語法也可用于創建 tar 文件。 還可以使用 GZip 和 BZip 任務來壓縮文件。-->
            
    <tar destfile="output.tar" basedir="output"/>
            
    <gzip src="output.tar" zipfile="output.tar.gz"/>
            
    <!--解壓縮和提取文件同樣也很簡單.-->
            
    <unzip src="output.tar.gz" dest="extractDir"/>
            
    <!--還可以包括 overwrite 屬性來控制覆蓋行為。默認設置是覆蓋與正在被提取的歸檔文件中的條目相
                匹配的所有現有文件。相關的任務名稱是 untar、unjar、gunzip 和 bunzip2。
    -->
        
    </target>

        
    <!--編寫一個 clean目標來從目標目錄移除生成的任何類文件是個很好的習慣。如果想要確
            保所有源文件都已編譯,就可以使用這個任務。這種行為刻畫了 Ant 的許多任務的特點:
            如果某個任務能夠確定所請求的操作不需要執行,那么該操作就會被跳過。
    -->
        
    <target name="clean">
            
    <delete dir="${buildDir}"/>
            
    <delete dir="${distDir}"/>
        
    </target>
    </project>



    本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/lip009/archive/2006/09/15/1226931.aspx

    posted on 2009-06-24 16:08 星期五 閱讀(218) 評論(0)  編輯  收藏 所屬分類: 工具

    主站蜘蛛池模板: 黄a大片av永久免费| 成年女人免费v片| 亚洲精品高清国产一线久久| 极品色天使在线婷婷天堂亚洲| 在线观看免费成人| 精品国产日韩久久亚洲| 久久久久免费看黄A片APP| 亚洲一区二区三区播放在线| 成人免费午夜无码视频| 天堂亚洲国产中文在线| 成人午夜性A级毛片免费| 亚洲国产成人精品无码区花野真一| 久久久久国产精品免费免费搜索| 亚洲色无码专区一区| 国产在线观看免费完整版中文版| 亚洲av永久中文无码精品| 国产免费久久精品| 男女污污污超污视频免费在线看| 久久亚洲国产精品123区| 免费黄色电影在线观看| 亚洲男女一区二区三区| 性色av无码免费一区二区三区| 亚洲国产精品99久久久久久| 免费大黄网站在线观看| 国产无限免费观看黄网站| 亚洲国产成人久久精品动漫| 国产92成人精品视频免费| 亚洲AV无码专区在线电影成人 | 国产亚洲成在线播放va| 亚洲午夜日韩高清一区| 久久一本岛在免费线观看2020| 亚洲国产精品成人综合色在线婷婷 | 国产福利免费在线观看| 国产99久久久国产精免费| 亚洲天天在线日亚洲洲精| 久久久久国色AV免费观看性色| 一个人看的免费视频www在线高清动漫| 亚洲精品V欧洲精品V日韩精品| 在线精品一卡乱码免费| 男女污污污超污视频免费在线看| 亚洲色四在线视频观看|