<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)  編輯  收藏 所屬分類: 工具

    主站蜘蛛池模板: 国产精品无码亚洲精品2021| 亚洲乱码中文字幕小综合| 曰批视频免费30分钟成人| 成全视频在线观看免费高清动漫视频下载| 亚洲国产精品成人精品无码区| 国产高潮久久免费观看| 亚洲免费观看网站| 噜噜噜亚洲色成人网站∨| 亚洲视频免费播放| 亚洲av极品无码专区在线观看| 99精品国产免费久久久久久下载| 久久久久亚洲AV无码专区网站| 自拍日韩亚洲一区在线| 成人av片无码免费天天看| 热99re久久精品精品免费| 亚洲爆乳大丰满无码专区| 四虎免费影院4hu永久免费| 日韩精品视频在线观看免费| 国产亚洲精品不卡在线| 最近中文字幕大全免费版在线| 亚洲AV乱码一区二区三区林ゆな| 成人免费夜片在线观看| 亚洲综合色婷婷七月丁香| 久久水蜜桃亚洲AV无码精品| 亚洲国产成人精品女人久久久| 男女一边摸一边做爽的免费视频| 久久久影院亚洲精品| 国产精品久久久久免费a∨| 亚洲AV无码一区二区三区鸳鸯影院| 亚洲av无码天堂一区二区三区| 丝袜足液精子免费视频| 亚洲免费在线观看视频| 国产jizzjizz免费视频| 国产成人无码区免费内射一片色欲| 亚洲欧洲国产成人精品| 国产精品极品美女免费观看| 中文字幕乱码系列免费| 久久亚洲精品专区蓝色区| 亚洲性久久久影院| 亚洲一区免费在线观看| 日本一区二区三区免费高清在线|