java.home属性在写入属性文件时会添加额外的斜杠吗?

时间:2011-02-16 19:58:19

标签: java ant backslash

根据我的理解, java.home 是一个ANT内置属性。在我们的场景中,我们将 java.home 的值写入同一项目中的另一个属性文件。 Hovewer,我们观察到当我们将 java.home 的值写入上述属性文件时,该值将使用附加斜杠写入(例如:'d:/jdk1.6.0_12'值写入上述属性文件为'd \:\\ jdk1.6.0_12 \\ jre'),这些额外的斜杠导致我们的系统出现问题。

所以,我需要你的建议/帮助/输入知道1)是否有办法将 java.home 写入另一个属性文件而没有额外的斜线或2)如果有办法在ANT构建文件中编写脚本,以便当从包含附加斜杠的上述属性文件中读取 java.home 属性时,脚本将切断不需要的/额外的斜杠并返回到<的确切路径em> java.home 。

2 个答案:

答案 0 :(得分:3)

在属性文件中,\是一个转义字符,用于转义属性文件语法中具有特殊含义的所有字符,如:。读取属性文件时应该删除它。不是吗?

对于导出值,可能是简单的<echo file="...">${java.home}</echo>而不是property-file-export会更有用吗?

答案 1 :(得分:0)

以下是此问题的解决方案:

<path id="property.toreplace.path">
    <pathelement path="${property.toreplace}"/>
</path>
<pathconvert targetos="unix" property="formatted.property.toreplace" refid="property.toreplace.path"/>