在使用Ant的copy任务过程中,我们有时会用到几个有用的参数:
1. preservelastmodified
缺省值: false
建议值: true
看字面意思,就大概能猜到这个参数是做什么用的.使用copy任务时, 默认拷贝会修改文件的最后修改时间,这是我们一般情况下不想看到的。 所以一般来说,会将此参数设为 true
2. overwrite
缺省值: false
建议值: 根据情况决定
即默认情况下,不会去覆盖同目录下的同名文件.
3. flatten
缺省值: false
建议值:根据情况决定
这个参数很有用. 就是在拷贝文件时,不拷贝文件的目录结构.
例:
我要把 dist\dir1\a.jar
\dir2\b.jar
都拷贝到 WEB-INF\lib下, 如果不设置该参数,如下:
<copy todir="WEB-INF\lib">
<fileset dir="dist">
<include name="**/*.jar" />
</fileset>
</copy>
,运行它,再看看 \WEB-INF\lib目录里的文件
\WEB-INF\lib
\dir1\a.jar
\dir2\b.jar
这可不是我想要的结果。
加上 flattern="true"试试,哈哈,这正是我要的结果,
a.jar 和 b.jar 就在 WEB-INF\lib的目录下.
这下你知道这个参数是做什么的了吧.
好,先讲这三个,是不是有点收获?
1. preservelastmodified
缺省值: false
建议值: true
看字面意思,就大概能猜到这个参数是做什么用的.使用copy任务时, 默认拷贝会修改文件的最后修改时间,这是我们一般情况下不想看到的。 所以一般来说,会将此参数设为 true
2. overwrite
缺省值: false
建议值: 根据情况决定
即默认情况下,不会去覆盖同目录下的同名文件.
3. flatten
缺省值: false
建议值:根据情况决定
这个参数很有用. 就是在拷贝文件时,不拷贝文件的目录结构.
例:
我要把 dist\dir1\a.jar
\dir2\b.jar
都拷贝到 WEB-INF\lib下, 如果不设置该参数,如下:
<copy todir="WEB-INF\lib">
<fileset dir="dist">
<include name="**/*.jar" />
</fileset>
</copy>
,运行它,再看看 \WEB-INF\lib目录里的文件
\WEB-INF\lib
\dir1\a.jar
\dir2\b.jar
这可不是我想要的结果。
加上 flattern="true"试试,哈哈,这正是我要的结果,
a.jar 和 b.jar 就在 WEB-INF\lib的目录下.
这下你知道这个参数是做什么的了吧.
好,先讲这三个,是不是有点收获?