【问题标题】:Run batch command after ant buildant build 后运行批处理命令
【发布时间】:2012-07-29 20:56:45
【问题描述】:

我正在尝试创建一个批处理文件来自动执行烦人的构建过程。让我感到困惑的关键部分是当一个命令启动一个接管键盘输入的进程时。

基本上,我按照 ant -f build-rmi.xml rmiregistry 的方式运行一些东西,它构建并运行 rmiregistry。完成后,我需要运行另一个构建,但我不知道在 ant 构建完成执行后如何启动另一个命令

我没有任何 ant 文件的写入权限。

【问题讨论】:

  • 如果你尝试“ant -f build-rmi.xml rmiregistry && your command”会怎样?
  • 取决于你运行的操作系统。你能创建一个脚本文件吗?
  • 您是否尝试过创建一个批处理文件,将ant -f build-rmi.xml rmiregistry 放在第一行,另一个命令放在下一行?
  • 当您可以创建一个 Ant 构建文件并将两个 <ant> 任务放在一个目标中时,为什么需要编写一个批处理文件(或任何依赖于操作系统的文件)...
  • @Pulak 实际上我提到我没有对原始文件的写入权限。所以coolcfan新建一个ant build文件的方案比较正确。

标签: ant command-line batch-file callback


【解决方案1】:
  1. 创建一个新的 ANT 构建脚本 run-both.xml
  2. run-both.xml 中添加 Import 以获取原始脚本。
  3. run-both.xml中创建一个新目标,说“runbatch”。使用ANT exec task从这个目标调用DOS命令
<project name="run-both" default="runbatch"> 
<import file="${path_to_rmi}/build-rmi.xml"/> 

<target name="runbatch" depends="rmiregistry">   
    <exec executable="cmd">
       <arg value="/c"/>
       <arg value="echo hello Matt"/>   
    </exec>
 </target>
</project>

在命令提示符下

ant -f run-both.xml

【讨论】:

  • 同样的问题。有趣的是,如果 rmiregistry 已经在运行,执行将继续到下一个目标。如果不是,它只是停止并大写命令提示符。
【解决方案2】:

使用命令调用,运行ant命令后批处理脚本文件不会停止

 call ant 

【讨论】:

    猜你喜欢
    • 2011-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多