Batch file 如何使用批处理文件执行ant?

Batch file 如何使用批处理文件执行ant?,batch-file,ant,cmd,Batch File,Ant,Cmd,我已经安装了ant,它在cmd中成功运行。我知道当您想要使用ant时,您可以输入目标路径并在命令行中执行ant。这对我来说很好。但是当我创建一个批处理文件以在目标路径中运行ant时。它告诉我ant不能被识别为内部或外部命令、可操作程序或批处理文件 所以我想知道的是:如何在批处理文件中执行ant,或者是否有其他方法可以运行它而不必一直输入cd命令 “c:\directory\where\ant\is\ant”-buildfile“d:\directory\where\your\build.xml\

我已经安装了ant,它在cmd中成功运行。我知道当您想要使用ant时,您可以输入目标路径并在命令行中执行ant。这对我来说很好。但是当我创建一个批处理文件以在目标路径中运行ant时。它告诉我ant不能被识别为内部或外部命令、可操作程序或批处理文件


所以我想知道的是:如何在批处理文件中执行ant,或者是否有其他方法可以运行它而不必一直输入cd命令

“c:\directory\where\ant\is\ant”-buildfile“d:\directory\where\your\build.xml\is\”
调用ant-f%BUILDXML\u LOC%-lib%ANTUNITLIB\u HOME%

上述命令必须有效。试试看

其中%BUILDXML\u LOC%是您拥有build.xml文件的位置
%ANTUNITLIB_HOME%是您放置ant-antunit-1.2.jar和所需其他jar的位置

您是否尝试在批处理脚本中设置ant_HOME?例如 (语法可能有点不协调)

以下是我的工作:

@ECHO OFF
REM allows ant to be invoked from commandline without changing
REM windows configuration.  Place in %HOME%/bin and name ant.bat.
REM You will need to add %HOME%\bin to %PATH%, but once bin is
REM added to path you will not need to add it again for other commands.

SET ANT_HOME=C:\Users\Username\TOOLS\apache-ant-1.10.1

SET JAVA_HOME=C:\Program Files\Java\jdk1.8.0_112

SET PATH=%JAVA_HOME%\bin:%PATH%

"%ANT_HOME%\bin\ant" %*
我将该脚本放入
C:\Users\username\bin
中,并将其命名为
ant.bat

然后我修改路径一次以添加bin文件夹。在此之后,我可以在bin中添加任意数量的命令,而不必修改路径


%*将命令行上传递的内容传递给ant。这样,我就可以像命令行上的任何其他实用程序一样运行ant,或者像在bash中一样从另一个脚本运行ant。

谢谢,它可以工作。但仍然不知道为什么我必须输入它的完整路径,因为我只需要在批处理文件中键入“java”来执行java程序……java命令是直接可执行的,因为它位于windows\system32中,并且windows\system32包含在path环境变量中。但ant二进制目录不包括在路径中。您可以包含它,然后就不需要包含完整路径。但是我已经在系统路径环境变量中添加了ant路径。我可以通过使用windows提供的命令提示符键入“ant”来运行它。然而,当涉及到.bat文件时,它就是不起作用。我已经下载了ant并尝试了。在我的电脑里,一切正常,包括从批处理文件调用ant。但是,ant核心(java代码)是从bat文件(
ant.bat
)调用的。因此,要从批处理文件中调用它,应该使用
callant
。在ant目录中有一个ant.bat和ant.cmd,但ant.cmd不是windows批处理文件。因此,调用它而不是ant.bat将生成无法识别的命令错误。在我删除ant.cmd文件后,一切都正常工作,看起来它实际上调用的是
ant.cmd
,而不是我上次尝试的
ant.bat
@ECHO OFF
REM allows ant to be invoked from commandline without changing
REM windows configuration.  Place in %HOME%/bin and name ant.bat.
REM You will need to add %HOME%\bin to %PATH%, but once bin is
REM added to path you will not need to add it again for other commands.

SET ANT_HOME=C:\Users\Username\TOOLS\apache-ant-1.10.1

SET JAVA_HOME=C:\Program Files\Java\jdk1.8.0_112

SET PATH=%JAVA_HOME%\bin:%PATH%

"%ANT_HOME%\bin\ant" %*