捕風之巢

          統計

          留言簿(3)

          java友情鏈接

          閱讀排行榜

          評論排行榜

          使用Ant運行本地程序(轉)

          . 使用Ant運行windows的批處理文件

          ?????? 要在 Ant 內運行一個外部程序 , 應使用 <exec> 任務 . 它允許你執行下列操作 :

          l???????? 指定程序名和要傳入的參數 .

          l???????? 命名運行目錄 .

          l???????? 使用 failonerror 標志來控制當應用程序失敗時是否停止構建 .

          l???????? 指定一個最大程序持續時間 , 時間超過則中止程序 . 任務在這時被認為是失敗 , 但是至少構建會中止 , 而不是掛起 , 這對于自動構建是至關重要的 .

          l???????? 將輸出存到一個文件或特性 .

          l???????? 指定 java 調用本地程序時需要預先設定的環境變量 .

          ?????? 下面來看一個例子 :

          批處理文件 :

          Test.bat

          																P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align=left>@echo off

          echo Hello > test.txt

          build.xml

          																SPAN lang=EN-US style="FONT-SIZE: 10pt; BACKGROUND: white; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">

          <?xml version="1.0"?>

          <projectname="batch"default="extract"basedir=".">

          ??? <targetname="extract">

          ?????? <execexecutable ="cmd">

          ?????????? <argline="/c a.bat"/>?????

          ?????? </exec>?

          ??? </target>

          </project>

          ?????? 使用 executable 元素標記指定使用的命令 , 具體用法可以在命令行下面輸入 help cmd 查看 . 如果你希望在運行批處理發生錯誤時中止構建需要設定 failonerror="on". 加入你的外部程序在某個時刻掛起 , 也許是在與遠程站點對話 , 而你不希望構建永遠被掛起 ,Ant 提供了 timeout 這個屬性 , 他是一個以毫秒為單位的數字 . 下面看一下如何使用 Ant 來運行 tomcat.

          ?????? 啟動 tomcat 需要兩個環境變量 CATALINA_HOME , JAVA_HOME, 如果你在環境變量中已經設定 , Ant 中就不需要進行處理 , 如果沒有需要使用 <env> 屬性來設定 , 你也可以使用 <env> 屬性覆蓋你以前的環境變量 .

          														SPAN lang=EN-US style="FONT-SIZE: 10pt; BACKGROUND: white; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">

          <?xml version="1.0"?>

          <projectname="batch"default="tomcat-start"basedir=".">

          ??? <propertyname="tomcat.dir"value="C:\Tomcat5"></property>

          ???

          ??? <targetname="tomcat-start">

          ??? <execdir="${tomcat.dir}/bin"executable="cmd">

          ?????? <envkey="CATALINA_HOME"path="${tomcat.dir}"/>

          ?????? <argvalue="/C startup.bat"/>

          ??? </exec>

          ??? </target>

          </project>

          2. 使用 Ant 運行 shell 文件

          ????? 由于 windowsXP cmd 默認沒有安裝 ps,bash 等命令 , 所以我們需要借助的三方的軟件來實現這個功能 , 這里使用 cgywin, cgywin bin 目錄加到環境變量的 Path 里面 ( 下面使用 Ant 運行 cvs 也會用到 ).

          														SPAN lang=EN-US style="FONT-SIZE: 10pt; BACKGROUND: white; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">

          <?xml version="1.0"?>

          <projectname="batch"default="shell"basedir=".">

          ??? <propertyname="tomcat.dir"value="C:\Tomcat5"></property>

          ???

          ??? <targetname="shell">

          ??? <execdir="${tomcat.dir}/bin"executable="bash">

          ?????? <envkey="CATALINA_HOME"path="${tomcat.dir}"/>

          ?????? <argvalue="startup.sh"/>

          ??? </exec>

          ??? </target>

          </project>

          3. 使用 Ant 運行 cvs

          ?????? Ant 內置 cvs 屬性 , 可以很方便的使用 cvs:

          														SPAN lang=EN-US style="FONT-SIZE: 10pt; BACKGROUND: white; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">

          <?xml version="1.0"?>

          <projectname="batch"default="shell"basedir=".">

          ??? <propertyname="cvs.root"value="..."></property>

          ???

          ??? <targetname="cvs">

          ?????? <cvscvsroot="cvs.root"command="checkout ../.."/>

          ??? </target>

          </project>

          如果你的 Documents and Settings 中有 .cvspass 文件 , 那么可以不用設定 cvsroot , Ant 會自動尋找 .

          posted on 2006-11-28 17:09 捕風 閱讀(1435) 評論(2)  編輯  收藏 所屬分類: java高級

          評論

          # re: 使用Ant運行本地程序(轉) 2009-08-12 19:50 你二大爺

          運行 a.bat那個根本不行  回復  更多評論   

          # re: 使用Ant運行本地程序(轉) 2009-08-12 19:50 你二大爺

          @你二大爺
          對,不行,作者騙人  回復  更多評論   

          主站蜘蛛池模板: 泗阳县| 乡城县| 敦化市| 南投市| 全南县| 郯城县| 林周县| 特克斯县| 灵台县| 贡嘎县| 遂昌县| 车险| 东莞市| 汉沽区| 保山市| 阿拉善盟| 久治县| 沂南县| 昭苏县| 湖南省| 左云县| 项城市| 梁平县| 桓仁| 淮北市| 谷城县| 娱乐| 芮城县| 波密县| 汾阳市| 庐江县| 宁德市| 钟山县| 株洲市| 南宁市| 望奎县| 澜沧| 石门县| 莱阳市| 台东县| 防城港市|