这是一条简单的rebase
指令:
copy
,其中
<project name="Project Name" default="Default target">
<!-- ... -->
<copy todir="${tomcat.lib.dir}" verbose="true">
<fileset dir="." includes="${dir_bdd},${p6spy_properties}" />
</copy>
<!-- ... -->
</project>
${tomcat.lib.dir}=D:/Tomcat/Tomcat7/apache-tomcat-7.0.47-windows-x64/apache-tomcat-7.0.47/lib
${dir_bdd},${p6spy_properties}=../lib/ojdbc-10.2.0.3.jar,../lib/p6spy-2.2.0.jar,../lib/spy.properties
参数中列出的所有文件均未复制到includes
。
${tomcat.lib.dir}
构建脚本从Eclipse启动。
我错过了什么?
答案 0 :(得分:1)
问题与您为..
属性指定includes
的父目录这一事实有关。
仅考虑在该基本目录下找到的文件。因此,虽然可以使用类似
../foo.java
的模式,但在应用时它不会匹配任何内容,因为永远不会扫描基目录的父文件。
这适用于这种情况,因为includes
属性包含隐式PatternSet。
因此,您必须更改${dir_bdd}
和${p6spy_properties}
属性,以便:
${dir_bdd},${p6spy_properties}=lib/ojdbc-10.2.0.3.jar,lib/p6spy-2.2.0.jar,lib/spy.properties
然后,您可以使用
<copy todir="${tomcat.lib.dir}" verbose="true">
<fileset dir=".." includes="${dir_bdd},${p6spy_properties}" />
</copy>
这样,文件集的根目录将设置为父目录,您可以选择它下面的所需文件。
答案 1 :(得分:0)
以下是我解决问题的方法:
<copy todir="${tomcat.lib.dir}" verbose="true">
<fileset dir="${lib_dir}" includes="${dir_bdd},${p6spy_properties}" />
</copy>
,其中
${lib_dir}=../lib
${dir_bdd},${p6spy_properties}=ojdbc-10.2.0.3.jar,p6spy-2.2.0.jar,spy.properties