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