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

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

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

    道非道 非常道

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

    統計

    web

    天圓

    經濟 政治 軍事

    鍵康

    ant 學習筆記 (一)

           Ant 學習筆記(1)
     介紹、下載、說明、安裝

    Ant 全名: Another Neat Tool ,意思是另一個清潔工具。

    Ant 介紹:
            ant 是構建工具,是Apache 的一個項目,是一個基于JAVA的build工具,用來編譯、運行、測試JAVA
        程序,構建、包裝和發布任務。
    Ant 優勢:
            * 操作方便,只需在命令行輸入 ant ,它就會自動尋找 build.xml文件。
            * 良好的跨平臺,可以在各種平臺上運行。
            * 結構清晰,能讓開發人員運行各種各樣的任務。
    Ant 下載:
        http://ant.apache.org/
    Ant 配置:
            1.環境變量中,查找 Path 變量并選中,然后編輯,如果沒有新建,,在彈出的“系統變量”對象話中設定
        系統變量 Path,Path = D:\*\Apache-ant- 1.7.0\bin
          2.單擊“系統變量”選項卡中的新建按鈕,創建 ANT_HOME=D:\*\apache-ant-1.7.0
          3.在cmd命令框中輸入ant 命令,即可查看 Ant  是否安裝成功
          注意:
              ant 啟動時,自動加載 build.xml 項目配置文件,如果取別的名字,使用 buildfile標記
              運行 Ant ,比如: ant -buildfile gd.xml
    Ant 的使用方法:
            Ant 的配置運行文件是 build.xml,一般放在項目根目錄下,通過運行它即可完成相應工作。
    Ant 能完成的工作:
            init ,初始化工作,即在進行打包、部置之前對環境進行一些初始化工作。
            compile,編譯工作,即將java代碼編譯成class;
            javadoc,生成文檔,即用來生成API的相關文檔;
            jar,打包工作,即用來將編譯后的class文件打成jar;
            deploy,部署工作,即用來對打好的jar或war進行部署;
            clean,清除工作,即用來清空初始化的環境;
            all,執行全部任務。

     元素屬性說明

        一般來講,一個XML文件要包含 project 和target 兩個元素
        1.project 元素的屬性:
                    name:表示一個工程的名字.
                    default:每個project都包含一個或多個target,一個target又包含一系列想要執行的task,
            當Ant 開始運行時,開發人員可以選擇target執行.如果沒有 target 被指定執行時,默認的任務
            將執行.
                    basedir:當前工程的基本路徑,"."表示當前工程的根目錄.
        2.一個project有一系列的property,property類似于全局變量,包含name和value兩個屬性.
                    name:變量名稱.
                    value:變量值.
                    屬性該問的方法:${property-name};
        3.Ant 內置的屬性
                    basedir:工程的路徑.
                    ant.file:build文件的路徑.
                    ant.version:版本.
                    ant.project.name:工程名.
                    ant.java.version:jvm版本.
        4.target 元素的屬性
                    name:指定目錄名稱.
                    depends:指定所依賴的target.
                    if:條件,如果不滿足條件則不執行.
                    unless:條件,如果不滿足條件則不執行.
                    description:對target 的描述.
                    task:一小段的任務.
                    reference:引用,通過refid屬性來引用在其他節中定義的ID.

    ant 的基本語法介紹:
            1.ant 命令行,最常用的命令分析如下:
                //應用 build.xml 作為默認的腳本文件,目錄路徑默認。
                ant
               
                //應用 test.xml 作為默認的腳本文件,目錄路徑默認。
                ant  -builefile test.xml
               
                // 應用 test.xml 作為默認的腳本文件,目錄路徑設置為 dist
                ant -builefile test.xml dist
               
                //應用test.xml 作為默認的腳本文件,目標路徑設置為 dist ,并且把構建的屬性文件放在
                  buile/classes  下
                 ant -buildfile test.xml -Dbuile=buile/classes dist
                 
                 //執行從/home/ant/extras 添加的任務和jar 包
                 ant -lib /home/ant/extras
            想了解更多的命令,可以運行 ant -H獲取命令列表。
            2.添加屬性文件
                <property file="${basedir}/build.properties" />
            3.CLASSPATH設置,示例如下:
                <path id="classpath">
                        <pathelement path="${hibernate_jar}"/>  //從什么地方加載
                        <fileset dir="${lib.dir}"> //設置文件夾
                                <include name="**/*.jar" />   //將.jar 放在dir中
                        </filest>
                </path>
                以上代碼與設置 CLASSPATH=/***/*.jar;/***/*.jar;是等效的
            4.文件COPY命令,示例代碼如下:
                <!-- 拷貝源文件 -->
                <copy todir="${build.src}">
                    <fileset dir="${src.dir}"/>
                </copy>
            5.打包任務jar 命令,示例代碼如下
                <!-- 打包文件 -->
                <jar jarfil="${dist}/lib/MyProject-${DSTAMP}.jar" basedir="${build}" />
            6.生成JAVADOC的命令,示例代碼如下:
                <javadoc pachagename="${[aclages}"     //包名
                                    sourcepath="${build.src}"    // 源文件路徑
                                    destdir="${build.javadosc}"  // 目標路徑
                                    author="true"                
                                    version="true"               //是否帶有版本信息
                                    use="true"                                     //
                                    splitindex="true"
                                    windowtitle="${NAME}API"
                                    doctitle="${NAME}">
                    <javadoc>
                7.刪除命令,示例代碼如下所示:
                    <delete dir="${dir.build}" />
                   
                    ant 在線文檔,地址是:http://ant.apache.org/manual/index.html
                   
                8.后臺打印命令
                    <echo message="jdk version: 1.5.0" />

    一些常用的 ant 文件:
           <?xml version="1.0" encoding="UTF-8"?>
    <!-- ======================================================================
         2007-10-24 上午09:01:29                                                       

         project   
         description
                      
         yihang                                                               
         ====================================================================== -->
    <project name="project" default="default">
        <description>
                轉換字符
        </description>
       
        <target name="help">
            <echo message=" this is  help"></echo>
       
        </target>

        <!-- =================================
              target: default             
             ================================= -->
        <target name="default" description="--> description">
            <native2ascii dest="." includes="src/com/news/struts/*.txt" encoding="GBK" ext=".properties"></native2ascii>
        </target>

    </project>

    元素說明:
    <?xml version="1.0"?>
    <!--配置myApp的Ant文件,將gd包中的內容打成jar -->
    <project name="myApp" default="init" basedir=".">
        <property name="myApp.home" value="." />
        <property name="myApp.lib" value="${myApp.home}/WEB-INF/lib" />
        <property name="myApp.jar" value="${myApp.home}/WEB-INF/lib" />
        <property name="myApp.classes" value="${myApp.home}/WEB-INF/classes" />
        <!--配置使用Tomcat所在的目錄 -->
        <property name="tomcat.home" value="D\:/apache-tomcat-6.0.2" />
        <!--<property file="build.properties" />以上內容還可以定義在build.properties中-->
        <target name="init">
            <path id="all">
                <!--初始化時需要使用的jar -->
                <fileset dir="${myApp.lib}">
                    <include name="**/*.jar" />
                </fileset>
                <!--初始化時需要使用的jar -->
                <fileset dir="${tomcat.home}/common/lib">
                    <include name="*.jar" />
                </fileset>
            </path>   
            <!--創建目錄 -->
            <mkdir dir="${myApp.classes}" />
        </target>
        <!--定義 target -->
        <!--清空生成的calss -->
        <target name="clean">
          <!-- 刪除目錄 -->
            <delete dir="${myApp.classes}">
            </delete>
        </target>
        <!--定義target,該target依賴于init,編譯時需要依賴與初始化的結果 -->
        <target name="compile" depends="init">
            <!--編譯時使用的版本是1.5 -->
                <javac srcdir="${myApp.home}/WEB-INF/src"
    encoding="utf-8"  destdir="${myApp.classes}" target="1.5">
                <classpath refid="all" />
            </javac>
        </target>
        <!--定義target,該target 依賴于 compile,com.gd包下的代碼打成加,命名為nancy2.0.0.jar -->
        <target name="jar" depends="compile">
            <jar jarfile="${myApp.jar}/nancy2.0.0.jar" basedir="${myApp.classes}" includes="com/gd/**">
            </jar>
        </target>
        <!--將myApp項目打成war文件-->
        <target name="war" depends="jar">
            <war destfile="${myApp.home}/myApp.war" webxml="${myApp.home}/WEB-INF/web.xml">
                    <!-- 包含該文件夾下所有內容 -->
                <fileset dir="${myApp.home}" casesensitive="yes">
                    <include name="WEB-INF/**" />
                    <exclude name="*.war" />
                </fileset>
                <!--所依賴的jar-->
                <lib dir="${myApp.home}/WEB-INF/lib">
                    <include name="*.jar" />
                </lib>
            </war>
        </target>
    </project>





    posted on 2009-06-25 09:05 星期五 閱讀(299) 評論(0)  編輯  收藏 所屬分類: 項目工具

    主站蜘蛛池模板: 一本色道久久88亚洲精品综合| 日本免费v片一二三区| 国产免费一区二区三区不卡 | 成在线人永久免费视频播放| 日韩中文字幕精品免费一区| 50岁老女人的毛片免费观看| 午夜影院免费观看| 久久久久久毛片免费播放| 日韩在线不卡免费视频一区| 四虎国产精品永久免费网址| 51视频精品全部免费最新| 青娱乐免费在线视频| 免费做爰猛烈吃奶摸视频在线观看| 成年人免费的视频| 无码人妻一区二区三区免费| 最近免费中文字幕大全视频| 日韩毛片无码永久免费看| 国产99视频免费精品是看6| 亚洲AV之男人的天堂| 中文字幕亚洲综合久久菠萝蜜| 永久亚洲成a人片777777| 亚洲AV午夜成人影院老师机影院| 97亚洲熟妇自偷自拍另类图片| 亚洲性色高清完整版在线观看| 亚洲成a人片在线观看精品| 亚洲经典千人经典日产| 在线观看亚洲网站| 九九热久久免费视频| 人妻丰满熟妇无码区免费| 无码国产精品久久一区免费 | 久久久久国产免费| 黄色网址免费大全| 国产精品深夜福利免费观看| 亚洲国产精品综合久久网络| 亚洲中文字幕无码一久久区| 久久亚洲sm情趣捆绑调教| 亚洲人成无码网站在线观看| 丁香六月婷婷精品免费观看| 色欲色香天天天综合网站免费| 最近免费中文字幕视频高清在线看| 亚洲精品在线视频|