使用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
,生活可能会更轻松)