`

要到另一个目录下运行ant, .bat文件中调用ant

阅读更多
<ant antfile="build.xml" target="test" dir="projects/project1"/>
 

用以上命令,会执行"projects/project1"下面的ant脚本,但是运行目录会是当然所在的目录".",也就是说ant运行中如果用到相对文件路径会是相对于当前路径而不是build.xml所在路径。

 

如果需要相对于build.xml所在路径,我们可以先把当然路径切换到"projects/project1"下再执行ant.这样我们构造一个.bat文件

build-project1.bat

cd projects/project1
call ant test
cd ../..

然后再在ant中调用系统命令来运行这个.bat文件

<!--build.xml-->
<project name="build-project1"
        default="build">
    <target name="build">
       <exec executable="cmd">
   	 		<arg value="/c"/>
    			<arg value="build-project1.bat"/>
    			<arg value="-p"/>
 	</exec>
    </target>
</project>
 

 

 

以下转自

http://xuliangyong.iteye.com/blog/371692

 

 

使用ant来做每日构建有写日子了
今天想在每日构建脚本中加入重启tomcat的操作 问题来了
先看脚本

Java代码
  1. @echo  stop tomcat...  
  2. call "D:\Program Files\apache-tomcat-6.0.18\bin\shutdown.bat"   
  3.   
  4. ant -f D:\dailybuild\build.xml war  
  5.   
  6. @echo  start tomcat...  
  7. call "D:\Program Files\apache-tomcat-6.0.18\bin\startup.bat"   
@echo stop tomcat...
call "D:\Program Files\apache-tomcat-6.0.18\bin\shutdown.bat"

ant -f D:\dailybuild\build.xml war

@echo start tomcat...
call "D:\Program Files\apache-tomcat-6.0.18\bin\startup.bat"


shutdown.bat是可以执行的
接下来的ant也是可以执行的
但是再下来的startup.bat就不能执行了
就是说调用完ant build.xml文件后没有返回

百思不得其解 放狗搜去

无意中看到这么一句

引用
call 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。


摘自:http://shyboy.bloghome.cn/posts/32153.html

虽然build.xml不是bat文件 但同为外部脚本,用call试试
果然 管用了

Java代码
  1. call ant -f D:\dailybuild\build.xml war  
call ant -f D:\dailybuild\build.xml war


执行完后成功执行了startup.bat

引用
原来如此 call并不仅仅用来调用bat,而且可以调用所有的其他脚本
分享到:
评论

相关推荐

    ant简明教程;ant调用bat方法

    这个文件通常存放在项目的根目录下,运行命令`ant sayHelloWorld`即可执行。如果构建文件不是默认的`build.xml`,我们可以使用`-f`、`-buildfile`或`-file`参数指定文件名,如`ant -f hello.xml sayHelloWorld`。 ...

    最新 apktool.jar、apktool.bat 文件

    而`apktool.bat`是一个批处理文件,通常用于在Windows环境中运行Java可执行文件,它简化了在命令行中调用Apktool的过程。将这两个文件移动到C://Windows目录下,意味着它们会被添加到系统的PATH环境变量中,用户无需...

    ant.rar亲测可以使用

    1. **bin** 目录:包含了可执行的jar文件(如ant.jar)以及启动脚本(如ant.bat或ant.sh),使得用户可以通过命令行执行Ant任务。 2. **lib** 目录:存放Ant运行所需的第三方库,比如JAR文件,这些库支持Ant的各种...

    apache-ant-1.10.5.rar

    1. `bin`目录:包含Ant的可执行脚本(如ant和ant.bat)。 2. `lib`目录:包含Ant运行所需的库文件,如核心库和各种扩展库。 3. `docs`目录:包含Ant的用户手册和其他文档。 4. `LICENSE`和`NOTICE`文件:关于Apache...

    使用Ant将java工程打包成bat可执行性文件

    在Java开发过程中,将一个项目打包成可执行的bat(批处理)文件是常见的需求,尤其是在需要在没有Java运行环境的计算机上运行程序时。Ant,一个由Apache软件基金会开发的构建工具,提供了强大的功能来帮助我们实现这...

    Ant 的 (批处理)Bat 实现

    另一个文件`cmdd.bat` 可能是用来执行更特定的任务,比如清理编译后的文件或者启动Tomcat服务器。例如: ```batch @echo off del /S /Q build\classes\* start "Tomcat Server" "%TOMCAT_HOME%\bin\catalina.bat" ...

    apache-ant-1.10.12-bin.tar.gz

    在实际使用中,用户通常会将`bin`目录添加到系统的PATH环境变量中,以便在任何地方都能方便地调用Ant命令。通过创建一个名为`build.xml`的XML文件,用户可以定义构建过程的步骤和规则。这个文件由一系列的目标...

    ant工具ant资源包

    - `lib`目录:包含了Ant运行所需的库文件,如`ant.jar`和其他依赖库。 - `docs`目录:可能包含Ant的用户指南和API文档。 - `LICENSE`和`NOTICE`文件:关于Apache Ant的许可和版权信息。 使用Apache Ant时,开发人员...

    ant1.9包下载

    1. `bin`目录:包含Ant的可执行脚本,如ant和ant.bat,分别用于Unix/Linux和Windows环境。 2. `lib`目录:存放Ant运行所需的库文件,包括核心库和一些默认的任务实现。 3. `docs`目录:包含了Ant的用户手册、API文档...

    java项目ant打包脚本

    `ant.bat`是Ant的启动脚本,它位于Ant的bin目录下。当你在命令行中输入`ant`命令时,实际上是运行了这个批处理文件。这个脚本会设置必要的环境变量,并调用Java来执行Ant的主类`org.apache.tools.ant.Main`,从而...

    apache-ant-1.9.9-bin.zip 【windows版,32位和64位通用】

    1. `bin`目录:包含Ant的可执行脚本,如`ant.bat`(Windows)和`ant`(Unix/Linux)文件,它们使得在命令行中可以轻松调用Ant。 2. `lib`目录:包含Ant运行时所需的库文件,如核心库`ant.jar`和其他依赖库。 3. `...

    apache-ant-1.9.2-bin.tar.gz

    在使用Ant编译VLC时,首先需要解压这个文件,然后将`bin`目录添加到系统的PATH环境变量中,以便于命令行调用Ant。接着,开发者会创建一个自定义的build.xml文件,定义VLC项目特定的构建过程。Ant将根据这个文件中的...

    apache-ant-1.7.0-bin.tar.gz

    1. `bin`目录:包含可执行脚本,如`ant`和`ant.bat`,分别用于Unix/Linux和Windows系统启动Ant。 2. `lib`目录:存放Ant运行所需的JAR文件,包括核心库和其他依赖库。 3. `docs`目录:包含Ant的用户指南、API文档等...

    apache-ant-1.6.1-bin.zip

    在1.6.1版本中,你可以期待找到一个典型的`build.xml`示例,展示了如何配置和调用Ant任务。这些任务可以包括编译源代码、创建JAR文件、运行测试、生成文档等。 解压"apache-ant-1.6.1-bin.zip"后,你可能会看到以下...

    apache-ant-1.10.6.rar

    - `bin` 目录:包含了Ant的可执行脚本,如`ant.bat`(Windows)和`ant`(Unix/Linux)。 - `lib` 目录:包含Ant运行所需的JAR文件和其他库。 - `docs` 目录:包含了Ant的用户手册和API文档。 - `LICENSE` 和 `...

    apache-ant-1.9.7-bin.zip

    1. `bin`目录:包含了可执行脚本(如`ant`和`ant.bat`),使得用户能够在命令行中直接运行Ant。 2. `lib`目录:存放Ant的核心库和其他依赖库,这些库在执行构建任务时会被加载。 3. `LICENSE`和`NOTICE`文件:提供了...

    apache-ant-1.7.1.rar

    另一个可能是"test",用来运行项目中的单元测试。 Ant的核心优势在于它的跨平台性,因为它是用Java编写并运行在Java虚拟机上的,所以能在任何支持Java的平台上工作。此外,Ant的灵活性也是其受欢迎的原因,开发者...

    使用ant编译生成flex的swc文件

    在提供的文件列表中,`build.bat`是一个批处理文件,可能用于启动Ant构建过程;`compc.properties`可能包含了compc编译器的配置属性;`compc.xml`是Ant的构建脚本,定义了如何调用compc以及编译的参数和目标;`说明....

Global site tag (gtag.js) - Google Analytics