0

我是 ANT 的新手,我很难解决这个问题。

我正确设置了所有变量,如下所示:

ANT_HOME="C:\Users\Spirithief\Documents\apache-ant-1.8.4"
JAVA_HOME="C:\Program Files\Java\jdk1.7.0_07"
PATH=%ANT_HOME%\bin;%JAVA_HOME%\bin

我运行 cmd line ant 我得到命令不存在。

我进入了 \bin 文件中的 ant.bat,我将 echo off 设置为 echo on。

这里是apache的svn中的批处理文件

错误似乎在这一行:

:stripAntHome
if not _%ANT_HOME:~-1%==_\ goto checkClasspath

它说,它不是reconizable。

注意: echo %ANT_HOME% 效果很好,其他的也很好,所以这不是问题。

有什么提示吗??

注意:这是批处理文件的执行(我的系统是法语:p):

Microsoft Windows [version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Tous droits réservés.

C:\Users\Spirithief>ant

C:\Users\Spirithief>REM  Licensed to the Apache Software Foundation (ASF) under
one or more

C:\Users\Spirithief>REM  contributor license agreements.  See the NOTICE file di
stributed with

C:\Users\Spirithief>REM  this work for additional information regarding copyrigh
t ownership.

C:\Users\Spirithief>REM  The ASF licenses this file to You under the Apache Lice
nse, Version 2.0

C:\Users\Spirithief>REM  (the "License"); you may not use this file except in co
mpliance with

C:\Users\Spirithief>REM  the License.  You may obtain a copy of the License at

C:\Users\Spirithief>REM

C:\Users\Spirithief>REM      http://www.apache.org/licenses/LICENSE-2.0

C:\Users\Spirithief>REM

C:\Users\Spirithief>REM  Unless required by applicable law or agreed to in writi
ng, software

C:\Users\Spirithief>REM  distributed under the License is distributed on an "AS
IS" BASIS,

C:\Users\Spirithief>REM  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either ex
press or implied.

C:\Users\Spirithief>REM  See the License for the specific language governing per
missions and

C:\Users\Spirithief>REM  limitations under the License.

C:\Users\Spirithief>REM This is an inordinately troublesome piece of code, parti
cularly because it

C:\Users\Spirithief>REM tries to work on both Win9x and WinNT-based systems. If
we could abandon '9x

C:\Users\Spirithief>REM support, things would be much easier, but sadly, it is n
ot yet time.

C:\Users\Spirithief>REM Be cautious about editing this, and only add WinNT speci
fic stuff in code that

C:\Users\Spirithief>REM only runs on WinNT.

C:\Users\Spirithief>if "" == "" goto homeDrivePathPre

C:\Users\Spirithief>if "C:\Users\Spirithief" == "" goto userProfilePre

C:\Users\Spirithief>if "C:\Users\Spirithief" == "" goto userProfilePre

C:\Users\Spirithief>if exist "C:\Users\Spirithief\antrc_pre.bat" call "C:\Users\
Spirithief\antrc_pre.bat"

C:\Users\Spirithief>if "C:\Users\Spirithief" == "" goto alpha

C:\Users\Spirithief>if "C:\Users\Spirithief" == "" goto alpha

C:\Users\Spirithief>if "C:\Users\Spirithief" == "C:\Users\Spirithief" goto alpha


C:\Users\Spirithief>if "Windows_NT" == "Windows_NT"

C:\Users\Spirithief>if "Windows_NT" == "WINNT"

C:\Users\Spirithief>if ""C:\Users\Spirithief\Documents\apache-ant-1.8.4"" == ""
goto setDefaultAntHome
La syntaxe de la commande n'est pas correcte.
C:\Users\Spirithief>if not _"==_\ goto checkClasspath
C:\Users\Spirithief>
4

3 回答 3

5

删除环境变量中的引号,因为它不是必需的,并且 ant 脚本已经为您添加了它们。

于 2012-09-24T05:22:28.510 回答
1

不是你问的答案,但这可能是相关的,应该对你有所帮助:

http://wiki.apache.org/ant/AntOnWindows

我可以亲自担保:http ://code.google.com/p/winant/

我从 wiki 获得了链接,所以我会相信它,而且它也是一次性的。:)

于 2013-09-19T04:24:10.073 回答
0

仅供参考,它适用于二进制分发(不是 source-distr。),因为二进制默认包含 \bin 目录。

于 2013-07-02T08:25:10.527 回答