ant build.xml Windows路径中的空白

时间:2020-03-05 18:51:06  来源:igfitidea点击:

我正在使用Windows,并且正在尝试使ANT正常工作。

当我从命令行执行蚂蚁构建时,我得到:
`C:\ dev \ Projects \ springapp \ $ {%ANT_HOME%} \ lib找不到。

我查看了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。

似乎Program Files和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属性会将链接解析为相对于baseir的链接,如果输入其中一个,则为绝对路径。如果我们可以发布Ant文件的各个部分,特别是如何定义appserver.home以及如何在引发错误的任务中使用它,我可能会更具体。

回答

在我的系统上可以使用" /"代替" "。只需删除路径结构前后的""符号即可。

回答

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