我的工作环境中使用Hudson来管理n台虚拟机,有一个job就是从SVN上下载最新程序并用ant编译java程序。
今天突然发现ant输出“BUILD SUCCESSFUL”后ERRORLEVEL还是返回1。查了一下ant.bat,发现里面用到了
if not "%OS%"=="Windows_NT" goto onError
想起来前两天问了判断是不是64bit机器,我自己声明了一个%OS%的变量并且赋值了。把%OS%改成和系统Environment Variable不一样的%OSSlave%程序就运行正常了。
有个小插曲,耽误了我很多时间。我有一台Win7-64bit,几台Win2003-32bit和一台Win2008-64bit。除了那台Win7-64bit编译java能过,其它都是报错。直到解决了问题,我也没弄明白为啥win764bit不报错。又查了一下%OS%,在3个系统上环境变量的值都是Windows_NT。