Ant學習總結(1)對exec的理解


轉自:http://blog.sina.com.cn/s/blog_443058cb01000bk7.html 
 
相信大部分開發人員都對ant有相當程度的了解,為什么呢?簡而言之,ant是個好工具,真的不錯。
本人從ant學習過程中遇到一些問題,后來在解決的過程中,對ant有了更深一步的了解。所以決定把學習過程中一些不太清楚的地方總結一下,和大家交流溝通一下,對於我一個新手來說肯定有許多認識上的不足,希望大家多給指導。
    <target name="buildLog">
        <exec executable="svn" output="${build.logs}/buildLog.xml">
            <arg line="log ../. --xml -r HEAD"/>
        </exec>
        <echo message="SVN log created successfully!" level="info"/>
    </target>
這是我現在從事項目的一段ant腳本里面有一些不太明白的地方:
(1)exec 有什么作用?
exec可以調用系統命令,比如:
<target name="test">
    <exec executable="cmd.exe">
        <arg line="/c dir"/>
    </exec>
</target>
上邊的這段代碼所起到的作用是打開命令輸入框,/c轉到c盤根目錄,執行dir命令。
(line 空格分隔的命令行變量列表。)
(2)
       <exec executable="svn" output="${build.logs}/buildLog.xml">
            <arg line="log ../. --xml -r HEAD"/>
        </exec>
這個的作用就是在svn工作空間下面執行下面的命令:
svn log ../. --xml -r HEAD,把生成的結果保存到buildLog.xml文件中。
 
 
<exec executable="${base.dir}/email.bat" >  
</exec>  
<exec executable="cmd" dir="D:\" failonerror="true">      
<arg line="/c del 1.bat" />  
</exec>
 
failonerror:表示當出現錯誤時自動停止

 

arg例子
<arg value="-l -a"/>
是一個含有空格的單個的命令行變量。
<arg line="-l -a"/>
是兩個空格分隔的命令行變量。
<arg path="/dir;/dir2:\dir3"/>
是一個命令行變量,其值在DOS系統上為\dir;\dir2;\dir3;在Unix系統上為/dir:/dir2:/dir3 。

轉自:http://www.cnblogs.com/hoojo/archive/2013/06/14/java_ant_project_target_task_run.html

參考:http://ant.apache.org/manual/Tasks/exec.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM