ant调用shell命令(Ubuntu)

Posted IT小不点

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ant调用shell命令(Ubuntu)相关的知识,希望对你有一定的参考价值。

  ant中调用Makefile,使用shell中的make命令

<?xml version="1.0" encoding="utf-8" ?>  
<project name="dy_cike_init" basedir=".">  
    <target name="hait_cpr" description="">  
        <exec executable="/bin/sh">  
            <arg line="-c make -f /home/test/ant/Makefile"/>  
        </exec>  
    </target>  
</project>  
使用exec

    <target name="copy_lib" description="Copy library files from  project1 to project2">
        <exec executable="cmd.exe">
            <arg line="/c &quot;cd ../project1 &amp;&amp; ant copy_to_project2_lib &quot; "/>
    </exec>
    </target>

 

翻译为命令行就是:cmd.exe /c "cd ../project && ant copy_to_project2_lib"  

意思是直接调用系统控制台,先执行cd命令,再执行ant脚本指定任务,/c 表示执行后续 String 指定的命令,然后停止。

http://blog.csdn.net/samlei/article/details/4231496

 

<project name="maketest" default="mk">

        <target name="mk" >

                <exec dir="/ci/opt/cruisecontrol-bin-2.7.3/projects/maketest" executable="make" os="Linux"  failonerror="true">

                 </exec>
        </target>
</project>

 

而我们的makefile文件简单如下:

 

targets:
                @echo "hello make!"
                pwd
                du


                @echo "test is ok!">>/ci/opt/cruisecontrol-bin-2.7.3/projects/maketest/test.txt

 

按照build.xml文件,ant将会执行make命令。

 

结果如下:

[[email protected] maketest]# ant
Buildfile: build.xml

mk:
     [exec] hello make!
     [exec] pwd
     [exec] /ci/opt/cruisecontrol-bin-2.7.3/projects/maketest
     [exec] du
     [exec] 16  .

BUILD SUCCESSFUL
Total time: 1 second
[[email protected] maketest]#

 

我们可以看到ant已经成功执行,并输出了makefile的结果。这里提醒大家的是,ant在执行过程中对语法错误的检测是相当宽松的,所以我们看到ant “build successful”的语句并不一定说明ant语句没有问题。

以上是关于ant调用shell命令(Ubuntu)的主要内容,如果未能解决你的问题,请参考以下文章

Ant 调用 Shell/CMD 命令

Ant 调用 Shell/CMD 命令

在ubuntu下怎么用php代码自动调用ffmpeg命令来进行视频采集录制,抽帧!!是要调用shell脚本吗??急!!

如何写ant的打包命令

如何把shell 命令执行的结果放到指定的日志文件中? 例如ant,sh命令

NDK: ant 错误 [javah] Exception in thread "main" java.lang.NullPointerException 多种解决办法(代码片段