ANT复制任务是否区分大小写?

时间:2016-12-06 05:44:44

标签: ant

我正在尝试复制ANT构建脚本中的文件。例如下面的复制声明 -

<copy file="myfile.txt" tofile="mycopy.txt"/>

我的疑问是 - 如果错误/偶然物理文件名变成myFile.txt或MyFile.txt或MYFILE.txt,上述语句是否仍然有效?

我无法找到相同的相关文档。如果您知道,请澄清。谢谢。

更新 - 我知道如果我使用fileset,我将能够使用fileset的“casesensitive”属性。但是,我只是使用'file'类型。

2 个答案:

答案 0 :(得分:1)

在复制页面的底部,它提到了Windows中是否存在具有不同案例的文件,它会复制它。这对我来说表明它依赖于操作系统,因此linux会区分大小写,而Windows则不是那么多。

https://ant.apache.org/manual/Tasks/copy.html

答案 1 :(得分:1)

正如您已经说过的那样,fileset可以让您控制区分大小写。

使用file属性时,任务的copySingleFile方法会在其中使用File#exists确定是否有任何要复制的内容。 exists在类Unix系统上区分大小写,在Windows上不敏感。因此,使用file属性取决于平台。

鉴于您的疑问,您可能想要使用类似

的内容
<copy tofile="mycopy.txt">
  <fileset file="myfile.txt" casesensitive="false"/>
</copy>