我一直在谷歌上搜索“文件集和路径之间的差异”一段时间,但没有发现任何有用的东西。 例如,以下内容之间有什么区别(例如,有一个 someDir 目录,其中包含.jar文件且没有子目录):
<path id="somePathId">
<pathelement path="someDir"/>
</path>
<path id="someId">
<path refid="somePathId" />
</path>
和
<path id="someId">
<fileset dir="someDir">
<include name="*.*">
</fileset>
</path>
答案 0 :(得分:2)
<path>
和<fileset>
之间的主要区别在于<fileset>
您可以指定是否要包含或排除某些类型的文件(基本上,它是一组文件在路径中......不一定是所有文件),例如:
<path id="someId">
<fileset dir="someDir">
<include name="*.java">
<include name="*.properties">
</fileset>
</path>
答案 1 :(得分:2)
它们用于不同的情况。
fileset
用于指定一组文件。您可以使用selector
和patternset
来仅获取所需的文件。
classpath
用于指定类路径引用。 classpath
可以使用单个jar(location="..."
),;
或:
分隔的jars列表(path="..."
)或嵌套资源集合(如fileset
)。
另外,如果你想调试它们,那就不一样了:
<echo message="Build-path: ${toString:build-path}" />
VS
<property name="debug.classpath" refid="classpath"/>
<echo message="Classpath = ${debug.classpath}"/>
至于你的脚本,
<path id="somePathId">
<pathelement location="someDir"/>
</path>
我没有对其进行测试,但根据documentation path=
预计会有;
或:
个分隔的jar列表。这与你的第二个例子不同。