在path中的ant build.xml窗口空白处

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

当我从命令行执行ant build时,得到: 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.

程序文件和Tomcat 6.0中的空白似乎导致构build失败。 你如何处理这些XML文件,而不重新创build一个没有空白的path的目录?

Solutions Collecting From Web of "在path中的ant build.xml窗口空白处"

将其更改为

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

用“/”替代“\”的变体适用于我的系统。 只需要删除路径结构前后的符号。

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

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

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

代替

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

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

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

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

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

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