“ant”未被识别为内部或外部命令

40

我遇到了和这位用户一样的问题:ant - not recognized as an internal

然而不幸的是,那篇帖子或其他任何帖子中的解决方案都没有对我起作用。我也查看了其他未被识别的命令,并特别添加了路径变量。我使用的过程如下:

Extract to a desired installation directory, e.g. C:\apache-ant
Create an ANT_HOME environment variable`

Open System Properties -> Advanced -> Environment Variables
Create a new system variable
    Variable name: ANT_HOME
    Variable value: C:\apache-ant 

Add %ANT_HOME%\bin directory to the PATH system variable

Open System Properties -> Advanced -> Environment Variables
Under system variables, select PATH and append ;%ANT_HOME%\bin
    e.g. %SystemRoot%\system32;%SystemRoot%;%JAVA_HOME%\bin;%ANT_HOME%\bin

Verify that ANT is installed.

Open a new command window and type:
C:\>ant -v`

在我的情况下,变量值是C:\apache-ant\apache-ant-1.8.2

我的路径变量为%SystemRoot%\system32;%SystemRoot%;%JAVA_HOME%\bin;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;%JAVA_HOME%\bin;%ANT_HOME%\bin,分号之间没有任何空格。

然而,测试ant安装失败了,如下图所示:

enter image description here

我已尝试过多次重新启动,但均无效。 我已经想不出什么主意了,如果有任何信息将很有帮助。 谢谢!

编辑

发布dir的结果:

enter image description here


2
执行 "echo %PATH%" 命令,确保 "c:\apache-ant\apache-ant-1.8.2\bin" 已经添加到环境变量中。另外,查看 Ant 版本的正确方式是输入 ant -version 命令。 - Adam Bruss
C:\Users\Development Admin>echo %PATH% C:\Windows\system32;C:\Windows;C:\Program Files\Java\jdk1.6.0_29\bin;C:\Windows
System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files\Java
jdk1.6.0_29\bin;%ANT_HOME%\bin
- user1152440
2
ANT_HOME未被解析。请将Path系统环境变量中的“%ANT_HOME%\ bin”更改为“c:\ apache-ant \ apache-ant-1.8.2 \ bin”。 - Adam Bruss
可以了!谢谢你的帮忙。作为一个新手,我该怎么“接受这个答案”并给你一票呢? - user1152440
不客气。我复制了我的评论并将其添加为答案。现在您可以接受该答案作为正确答案。 - Adam Bruss
显示剩余2条评论
11个回答

54

ANT_HOME没有被解析。将Path系统环境变量中的%ANT_HOME%\bin改为c:\ apache-ant \ apache-ant-1.8.2 \ bin


请参考下面 Joshua 的评论,可能会有一个原因。 - Adam Bruss
它显示“ant”不被识别为内部或外部命令,可执行程序或批处理文件。 - user4078066
我的问题在将 c:\apache-ant\apache-ant-1.8.2\bin 添加到 PATH 系统变量后得到了解决。之前 bin 不在路径中。 - Dhanik Lal Sahni

15

我遇到了类似的问题,但造成 %ANT_HOME% 不能被解析的原因是我将它添加为了用户变量而非系统变量。现在问题已经解决,感谢这篇文章。


我曾经遇到过同样的问题。我不记得在其他版本中看到过它,但是我在ANT 1.8.2版本中遇到了这个问题。谢谢! - James Drinkard
这对我来说解决了ANT版本1.9.4的问题。登录和退出没有任何影响。一旦我将用户变量更改为系统变量,ant命令就可以正常工作,无需重新登录。 - Steve

6
创建一个脚本,包括以下内容; (将ant和jdk路径替换为适合您机器的路径)
set  PATH=%BASEPATH%
set ANT_HOME=c:\tools\apache-ant-1.9-bin
set JAVA_HOME=c:\tools\jdk7x64
set PATH=%ANT_HOME%\bin;%JAVA_HOME%\bin;%PATH%

在shell中运行它。


4
当环境变量被更改时,注销并重新登录以使其生效。

这对我没有用。将%ANT_HOME%从用户变量更改为系统变量后,ant命令在命令行中工作而无需重新登录。 - Steve
重新启动解决了我的问题。 - Ali Seivani

3

2
请按照以下步骤操作:
  1. 在用户变量中

    设置变量名称=ANT_HOME 变量路径=C:\Program Files\apache-ant-1.9.7

2.编辑用户变量 PATH=%ANT_HOME%\bin

  1. 进入系统变量

    • 设置Path=%ANT_HOME%\bin

1
我遇到了同样的问题。解决方法是在%ANT_HOME%\bin的末尾添加\,使其变为%ANT_HOME%\bin\
对我有用。(应该是系统变量)

0

如果以上方法都没有帮助到任何人......我的问题是我尝试在已经打开的cmd提示符上使用ant -version,而在此之前我并未将apache-ant添加到路径中。

由于cmd提示符使用它打开时的PATH,而不是新的(已经包含apache-ant)路径,因此它找不到它。

打开一个新的cmd,并运行ant -version,显示我确实已经正确安装了它。


0
需要确定是否因错误或无意中移动了ant文件夹。 它设置在环境变量中。我曾经解决过这个问题,如下所述。
我不小心删除了ant文件夹,并将其放入另一个文件夹中。我打开命令提示符并键入"path"。它给出的路径是"F:\apache-ant-1.9.4\"。 所以我将ant文件夹移回F盘,问题就解决了。

0
即使设置了环境变量,我发现在脚本中 ant -version 不起作用。请尝试使用 call ant -version

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接