Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ant脚本执行批处理文件_Ant_Batch File_Cruisecontrol - Fatal编程技术网

使用ant脚本执行批处理文件

使用ant脚本执行批处理文件,ant,batch-file,cruisecontrol,Ant,Batch File,Cruisecontrol,这是我的批处理文件。它位于C:\Work\6.70\u Extensions\Lab Tools\文件夹中 蚂蚁蝙蝠: set CLASSPATH=%CLASSPATH%;.;c:\JavaMail\javamail-1.3\mail.jar;c:\JavaMail\javamail-1.3\mailapi.jar;c:\JavaMail\javamail-1.3\pop3.jar;c:\JavaMail\javamail-1.3\smtp.jar;c:\JavaMail\jaf-1.0.2\a

这是我的批处理文件。它位于
C:\Work\6.70\u Extensions\Lab Tools\
文件夹中

蚂蚁蝙蝠:

set CLASSPATH=%CLASSPATH%;.;c:\JavaMail\javamail-1.3\mail.jar;c:\JavaMail\javamail-1.3\mailapi.jar;c:\JavaMail\javamail-1.3\pop3.jar;c:\JavaMail\javamail-1.3\smtp.jar;c:\JavaMail\jaf-1.0.2\activation.jar
CALL "C:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat"
@echo on

%ANT_HOME%\bin\ant -logger org.apache.tools.ant.listener.MailLogger -q -buildfile "Master Build.xml"
pause
除了
ant.bat
,我还有一个
Master Build.xml
文件位于同一文件夹中

当我双击
ant.bat
时,它将正确执行Master Build.xml ant脚本

但是,每当我尝试使用另一个应用程序打开批处理文件的绝对路径时,它总是声明
Master Build.xml文件不存在

我尝试使用控制台应用程序和另一个ANT脚本(通过Cruisecontrol框架)打开绝对路径,但两者都给出了相同的错误。这里的错误是什么

以下是我对cruisecontrol所做的操作,供您参考:

  • 创建
    config.xml
    (设置生成间隔)
  • 创建
    nightbuild.xml
    (以便
    config.xml
    将进入它以执行所需的任务)
  • nightbuild.xml
    将运行多个控制台应用程序对文件进行排序,从版本控制中签出文件等
  • 最后,
    nightbuild.xml
    将执行
    ant.bat
    文件来执行构建

  • 这些文件,
    config.xml
    nightbuild.xml
    可以在
    C:\build

    中找到,当您从包含
    Master build.xml
    的目录以外的目录执行时,Ant将无法找到构建文件,它希望该文件位于当前工作目录中

    您可以设置其他环境变量来指定生成文件的路径,例如

    %ANT_HOME%\bin\ant -buildfile "%MASTER_BUILD%\Master Build.xml"
    
    如果将变量设置为绝对路径(例如
    C:\Work\6.70\u Extensions\Lab Tools
    ),则该变量将始终有效。如果使用相对路径(例如
    \Lab Tools
    ),则仅当从相对根目录执行时,该路径才有效

    (顺便说一句,如果您使用名称中没有空格的构建文件,例如
    master_build.xml
    而不是
    master build.xml
    ,生活可能会更轻松)