ant build.xml windows路径中的空白

ant build.xml windows路径中的空白,windows,ant,whitespace,build.xml,Windows,Ant,Whitespace,Build.xml,我正在使用Windows,我正在尝试让ANT工作 当我从命令行执行ant构建时,我得到: C:\dev\Projects\springapp\${%ANT\u HOME%}\lib未找到。 我查看build.xml文件,发现: appserver.home=${user.home}/apache-tomcat-6.0.14(我刚刚从教程中直接复制并粘贴了它) 我把它改成: appserver.home=“C:\Program Files\Apache软件基金会\Tomcat 6.0” 但现在我明

我正在使用Windows,我正在尝试让ANT工作

当我从命令行执行ant构建时,我得到:
C:\dev\Projects\springapp\${%ANT\u HOME%}\lib未找到。

我查看
build.xml
文件,发现:
appserver.home=${user.home}/apache-tomcat-6.0.14
(我刚刚从教程中直接复制并粘贴了它)

我把它改成:

appserver.home=“C:\Program Files\Apache软件基金会\Tomcat 6.0”

但现在我明白了:

C:\dev\Projects\springapp\“C:程序文件Apache软件基础Tomcat 6.0”\lib未找到。

程序文件和Tomcat 6.0中的空白似乎导致构建失败。如何在xml文件中处理这些文件,而不重新创建路径没有空格的目录?

将其更改为

appserver.home="C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0"

除了转义windows目录分隔符外,还要确保键入的所有路径都应大写正确,windows不区分大小写,但区分大小写,而Ant区分大小写。

看起来您的属性设置不正确

我猜您的basedir属性指向C:\dev\Projects\springapp,并且您的属性使用的值如下:

<property name="property.1" value="directory" />

而不是

<property name="property.1" location="directory" />


然后,如果位置是相对路径,则使用location属性将链接解析为相对于basedir的链接;如果输入其中一个路径,则将链接解析为相对于绝对路径的链接。如果您可以发布Ant文件的某些部分,具体说明如何定义appserver.home以及如何在引发错误的任务中使用它,那么我可以更具体一些。

带有“/”的变体,而不是“\”在我的系统上工作。只需删除路径结构前后的符号。

在build.xml顶部,尝试添加

然后使用
${env.USER_HOME}
(或您环境中的任何东西)。这对我来说是可行的(${env.JAVA_HOME}),而不是
${JAVA.HOME}
)。

使用
dir/x
查找这些目录的Windows短名称,并在设置
路径
值时使用thme


上进行更多讨论,或者使用“/”而不是“\\”。它在Windows上的Ant中也可以使用,并且更容易阅读。您甚至需要引号吗?我认为这样应该可以:
appserver.home=C:\\Program Files\\Apache Software Foundation\\Tomcat 7.0