【发布时间】:2023-03-12 06:40:01
【问题描述】:
我从我的 ant 构建文件中得到一个非常令人困惑的反应,我想知道是我不够聪明还是这实际上是一个错误。
我在我的项目中全局设置了以下属性:
<property name="lib.dir" location="lib"/>
然后我会尝试通过fileset(多个资源)将这个目录中的一些文件添加到jar文件中:
<fileset dir="${basedir}" includes="lib/*filename*"/>
应该有(并且存在)3 个不同的库,它们以这种方式匹配。但是,如果我尝试使用以下内容,它将不起作用并且不包含任何文件:
<fileset dir="${basedir}" includes="${lib.dir}/*filename*"/>
请注意,唯一的区别在于全局属性的用法。现在是一个简单的问题:为什么第一个版本可以像宣传的那样工作,而第二个则不能?
【问题讨论】:
-
我建议使用
-verbose或-debug运行Ant 并检查任务周围的输出。 Ant 会准确告诉您它正在检查哪些文件以添加到您的文件集中,以及评估时lib.dir的值。 -
我尝试使用 -debug 运行 ant,我发现这一行与此处相关:fileset: Setup scanner in dir [pathToDir] with patternSet{ includes: [ [pathToDir]/lib/* glpkjni*] excludes: [] } 这表明它应该像宣传的那样工作......
标签: ant properties fileset