ant build.xml windows路径中的空白区域

时间:2008-09-10 21:45:54

标签: windows ant whitespace build.xml

我正在使用Windows而我正试图让ANT工作。

当我从命令行执行ant构建时,我得到: C:\dev\Projects\springapp\${%ANT_HOME%}\lib not found.

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

我把它改为:

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

但现在我明白了:

C:\dev\Projects\springapp\"C:Program FilesApache Software FoundationTomcat 6.0"\lib not found.

似乎Program Files和Tomcat 6.0中的空白区域导致构建失败。如何在没有使用没有空格的路径重新创建目录的情况下处理xml文件中的这些文件?

6 个答案:

答案 0 :(得分:13)

将其更改为

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

答案 1 :(得分:6)

Variant with“/”而不是“\”在我的系统上运行。只需要删除“路径结构前后的符号。

答案 2 :(得分:2)

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

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

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

而不是

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

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

答案 3 :(得分:2)

使用dir /x查找这些目录的Windows短名称,并在设置path值时使用它们。

How does Windows determine/handle the DOS short name of any given file?

进行更多讨论

答案 4 :(得分:1)

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

答案 5 :(得分:1)

在build.xml的顶部,尝试添加 <property environment="env"/> 然后使用${env.USER_HOME}(或您环境中的任何内容)。这对我来说($ {env.JAVA_HOME}而不是${java.home})。