ant未被识别为…”;WIndows 7系统上的Apache Ant 1.8.2出错

ant未被识别为…”;WIndows 7系统上的Apache Ant 1.8.2出错,windows,apache,ant,Windows,Apache,Ant,我一直在命令提示符中遇到这个错误,尽管我已经遵循了联机说明和这里的问题解决方案ant,但这并不是一个内部错误 我遵循以下步骤:ant.apache.org/manual/install.html,下载了ApacheAnt 1.8.2,并将变量设置为C:\ant,这就是我在安装ant时使用的变量ANT_HOME是我使用的变量。我将其添加到环境变量路径:%ANT\u HOME%\bin。我甚至做了另一个变量,称之为PATH,并添加了%ANT\u HOME%\bin到它。我在系统变量中做了所有这些。重

我一直在命令提示符中遇到这个错误,尽管我已经遵循了联机说明和这里的问题解决方案ant,但这并不是一个内部错误

我遵循以下步骤:
ant.apache.org/manual/install.html
,下载了ApacheAnt 1.8.2,并将变量设置为
C:\ant
,这就是我在安装ant时使用的变量<代码>ANT_HOME是我使用的变量。我将其添加到环境变量
路径
%ANT\u HOME%\bin。我甚至做了另一个变量,称之为
PATH
,并添加了
%ANT\u HOME%\bin到它。我在系统变量中做了所有这些。重新启动后,我登录了,但它仍然不允许我使用ant-version命令检索有关ant安装的任何信息。我还启动了几个新的命令提示符实例,但仍然从“ant-version”中得到一个错误

我的系统变量同时考虑了
ANT\u HOME
JAVA\u HOME
C:\ant
是我的
ant\u HOME
所在的位置,因此我将
ant\u HOME
变量的值设置为该值<代码>%JAVA\u HOME%\bin;%蚂蚁之家%\bin位于“Path”变量的末尾。我重置了我的计算机,并在之后创建了几个命令提示符实例,但仍然无法识别ANT。我可以毫无困难地请求Java的信息,但不能请求ANT的。请帮忙

我已经正确地设置了变量,还设置了另一个不是原始路径变量的路径。如果我做错了什么,请告诉我


编辑:根据垃圾神的请求进行更新。

只是为了回答这个问题-根据我们的讨论,我认为ANT\u HOME变量应该设置为c:\ANT,而不是c:\ANT\bin,这样它才能工作。

只要检查一下:

  • 您需要在环境变量中定义
    ANT\u HOME=C:\ANT
    以及相关的
    JAVA\u HOME
  • 您需要在路径
    %ANT\u HOME%\bin
    以及
    %JAVA\u HOME%\bin
    中输入
  • 您需要验证
    ant.bat
    是否位于
    %ant\u HOME%\bin
  • 您可以从
    ant.bat
    中删除
    @echo off
    行。这是第一行。这样,当您作为命令键入
    ant
    时,它将显示正在执行的所有命令
检查
%PATHEXT%
变量的值。这是添加到命令的扩展,用于定位可执行命令

例如,我的是

.COM;.EXE;.BAT;.CMD;.PL;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.PSC1
这意味着,在执行
ant.bat
之前,它首先尝试
ant.com
,然后尝试
ant.exe
,最后尝试
ant.bat


你给出了什么输出?您是否发现ant未被识别为内部或外部命令错误?

经过一个小时左右的挫折后,我发现我犯了一个非常简单的错误:


在这种情况下,如果您向PATH变量中添加了空格,请确保不要引入任何空格。在路径变量中添加%ANT\u HOME%\bin时,我错误地在前面的分号后面添加了空格。这将导致忽略空格后的任何内容。

不确定是否已解决此问题,但根据我的经验,您需要将
%ANT\u HOME%
替换为实际路径
C:\ANT
。我还将我的
JAVA\u HOME
替换为实际路径
C:\JAVA\jdk\
。只有这样,我的Ant和Java命令才能正常工作。希望这对您有所帮助。

我发现,如果路径中有空格,则需要修改用户变量

ANT_HOME = "C:\Program Files\Adt\ant"

请注意随附的引号。然后路径中的
%ANT\u HOME%\bin
表示ANT在命令提示符下从任何位置工作

您可以通过指定整个路径来运行ANT吗?c:\ant\bin\ant-versionies。我可以。结果是:ApacheAnt(TM)版本1.8.2于2010年12月20日编译。请尝试在命令提示符下打印path变量:echo%path%。看看蚂蚁的路径是否在那里。还打印出ANT_HOME变量。路径=%JAVA_HOME%\bin;%蚂蚁之家%\bin;我认为您的ANT\u HOME应该等于c:\ANT而不是c:\ANT\b我已将ANT\u HOME环境变量设置为c:\ANT,并验证了在echo%ANT\u HOME%调用中显示了c:\ANT。但是,我仍然在使用ant-version时遇到错误。当您回显您的路径时,它会显示%ant\u HOME%还是实际路径:C:\ant。如果正确解析变量,则应显示实际路径是否仅打印c:\ant?我假定在您的路径中设置了它,以便路径包含:%ANT\u HOME%\bin,当您回显您的路径变量时,您会得到:c:\ANT\bin否,%ANT\u HOME%现在打印出“c:\ANT”。在这里检查了所有内容。.PSC1不在%PATHEXT%中是的,我仍然得到Ant未被识别创建一个名为
foo.bat
的命令并将其放在
C:\Ant\bin
目录中。这个命令所要做的就是回显“你抓住我了!”。您只是想看看是否可以执行位于该目录中的命令。路径的最大大小为2048个字符。你的路会不会太长?仔细查看它,确保其中没有错误的目录格式。我建议您在编辑器中剪切并粘贴路径,这样您就可以一次看到所有路径。-当我编写“cd C:\ant\bin\”然后执行foo.bat时,它会执行。不过,JAVA\u HOME会执行。还有什么吗?您是否尝试过删除
ant.bat
文件开头的
@echo-off
?这将帮助您显示文件中正在执行的行(如果有)。您是否也尝试过键入
C:\ant\bin\ant.bat
以查看它是否执行?也许路上还有另一只蚂蚁蝙蝠?