设置property
以引用文件路径时,使用value
或location
参数之间有区别吗?
https://ant.apache.org/manual/Tasks/property.html处的文档指出:
value
设置属性的值
location
将属性设置为给定文件的绝对文件名。
一般值是value
,文件路径是location
吗?
在现实生活中的例子中,这两行代码之间有区别吗?如果是这样,它有什么实际影响?
<property name="cobertura.dir" value="C:/Cobertura/cobertura-1.9" />
<property name="cobertura.dir" location="C:/Cobertura/cobertura-1.9" />
答案 0 :(得分:2)
在您已提及的ANT手册中有记录......
location : Sets the property to the absolute filename of the given file.
If the value of this attribute is an absolute path, it is left unchanged (with / and \ characters converted to the current platforms conventions).
Otherwise it is taken as a path relative to the project's basedir and expanded.
因此您可以选择指定绝对/相对路径。
因此,如果您想要执行相对路径,则使用位置。如果您正在执行绝对路径
,则可以使用位置或值(互斥)答案 1 :(得分:2)
如果它可以帮助其他人:
在http://www.javapractices.com/topic/TopicAction.do?Id=135,作者建议:
对于代表文件或目录的属性,请使用&#39; location&#39; 属性,而不是&#39;值&#39;
.properties文件等同于使用
<property name='x' value='y'>
因为&#39;位置&#39;属性未被使用。不建议这样做 文件和目录,因为这不会解析相对 引用。如果确实在属性文件中指定了位置,那么它 应该是绝对的,而不是相对的。另外,你需要逃脱 反斜杠。