具有空间问题的Ant Java任务



我试图通过ant脚本执行jar文件。这样的

<java jar="${jar.file}" fork="true" failonerror="true">
   <arg line="${jar.args}"/>
</java>

jar。文件具有jar文件的完整路径,并且在其中包含一些空间

当我在Linux上执行时,没有问题。但是当我在Windows上做同样的事情时,我得到了错误。Java任务找不到jar!我尝试过所有不同的变化,比如用引号(")包装文件路径,用&quot代替空格,用反斜杠转义,等等。不工作!

有人遇到过这个问题吗?只是想知道这是Ant的限制还是我错过了什么。

p。对不起,我没有提供完整的错误信息。我现在不在我的Windows电脑上。作为一种解决方法,我决定将jar复制到C:并使用它。

处理属性中的空间问题的推荐方法是将它们放入额外的",在大多数情况下应该可以工作,最好使用不带空格的路径

<java jar="'${jar.file}'" fork="true" failonerror="true">
   <arg line="${jar.args}"/>
</java>


编辑
你是对的,它不会工作,因为只有jar属性的相对路径
事实上,我想到了这样的东西:

<project>
 <property name="jar.file" value="foobar.jar"/>
 <property name="jar.dir" value="/home/rosebud/temp/path with blanks"/>
 <java
   dir="${jar.dir}"
   jar="${jar.dir}/${jar.file}"
   fork="true"
   failonerror="true"
   >
   <arg value="..." />
 </java>
</project>

,并且在上面的代码片段

中,对于path中的空格也可以意外地工作

认为处理空间问题的标准方法将适用于其他情况:

"'${property with blanks}'"

相关内容

  • 没有找到相关文章

最新更新