Eclipse:ant exec .bat文件没有停止

时间:2014-09-05 21:30:05

标签: java eclipse windows batch-file ant

我使用ant构建脚本编译一些java类,创建.jar文件并将类放入其中,然后使用ant的exec命令运行批处理文件。 .bat文件使用.jar文件来执行多个java类。

运行.bat文件的命令行输出显示在Eclipse输出窗口中,但是当我点击Eclipse中的停止按钮时,它不会停止执行。它停止在Eclipse中显示命令行输出,但批处理文件控制的进程将继续,直到它到达所有进程的末尾。

这是我的蚂蚁脚本;

<project name="myProject" default="all">
<property name="app.name" value="myProject"/>

<path id="classpath">
  <fileset dir="${lib}" erroronmissingdir="false">
    <include name="**/*.jar"/>
    <exclude name="**/*.properties"/>
  </fileset>
</path>

<taskdef name="javac" classname="org.apache.tools.ant.taskdefs.Javac" classpathref="classpath"/>
<taskdef name="groovyc" classname="org.codehaus.groovy.ant.Groovyc" classpathref="classpath"/>

<target name="prepare">
  <mkdir dir="${build}"/>
  <mkdir dir="${target}"/>
</target>

<!-- COMPILE -->
<target name="compile" depends="prepare">
  <delete dir="${classes}"/>
  <mkdir dir="${build}"/>

  <javac destdir="${classes}" 
         srcdir="src" 
         includes="**/*" 
         classpathref="classpath">
  </javac>

  <groovyc destdir="${classes}" 
           srcdir="src" 
           includes="**/*" 
           classpathref="classpath">
  </groovyc>    
</target>

<target name="deploy" depends="compile">
  <mkdir dir="${target}/lib"/>
  <copy todir="${target}/lib">
    <fileset dir="${lib}">
      <include name="*.jar"/>
      <exclude name="junit*"/>
    </fileset>
  </copy>

  <!-- JAR -->
  <jar destfile="${target}/lib/${app.name}.jar">
  <fileset dir="${classes}">
    <include name="**/*.class"/>
  </fileset>
  </jar>

  <copy todir="${lib}">
    <fileset dir="${target}/lib">
      <include name="${app.name}.jar"/>
      <exclude name="junit*"/>
    </fileset>
  </copy>

  <!-- RUN BATCH FILE -->
  <exec dir="." executable="cmd">
    <arg line="/c myBatchFile.bat"/>
  </exec>
</target>

除了等待它完成之外,我怎么能阻止它执行呢?

0 个答案:

没有答案