15

我正在使用 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 文件中处理这些而不用没有空格的路径重新创建目录?

4

6 回答 6

13

将其更改为

appserver.home="C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0"
于 2008-09-10T22:20:56.930 回答
6

带有“/”而不是“\”的变体适用于我的系统。只需要在路径结构前后删除"符号即可。

于 2010-09-08T12:49:05.073 回答
3

在设置值dir /x时使用和使用 thme查找这些目录的 Windows 短名称。path

Windows如何确定/处理任何给定文件的 DOS 短名称?

于 2011-07-26T13:21:06.283 回答
2

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

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

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

代替

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

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

于 2008-09-11T15:36:12.137 回答
1

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

于 2010-12-01T18:32:32.363 回答
1

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

于 2008-09-10T23:32:57.227 回答