gpt4 book ai didi

java - 为什么 Ant 不复制所有文件?

转载 作者:行者123 更新时间:2023-11-30 07:27:40 26 4
gpt4 key购买 nike

这是一个简单的复制指令:

<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}

文件结构

/lib
+ ojdbc-10.2.0.3.jar
+ p6spy-2.2.0.jar
+ spy.properties
/scripts
+ build.xml

构建脚本从 Eclipse 启动。

我错过了什么?

最佳答案

问题与您使用 ..includes 属性指定父目录有关。

来自Ant documentation :

Only files found below that base directory are considered. So while a pattern like ../foo.java is possible, it will not match anything when applied since the base directory's parent is never scanned for files.

这适用于本例,因为 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>

这样,文件集的根目录将被设置为父目录,您可以在其下面选择所需的文件。

关于java - 为什么 Ant 不复制所有文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36595010/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com