10

一段时间以来,我一直在谷歌上搜索“文件集和路径之间的差异”一文,但没有发现任何有用的东西。例如,以下之间有什么区别(例如,有一个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>

?

4

2 回答 2

2

<path>a和 a之间的主要区别在于<fileset><fileset>您可以指定是否要包含或排除某些类型的文件(基本上,它是路径中的一组文件......不需要所有文件),例如:

<path id="someId">
  <fileset dir="someDir">
     <include name="*.java">
     <include name="*.properties">
  </fileset>
</path>
于 2011-07-01T08:48:04.077 回答
2

它们用于不同的情况。

fileset用于指定一组文件。您可以使用selectors 和patternsets 仅获取您想要的文件。

classpath用于指定类路径引用。classpath可以使用单个 jar ( location="...")、一个;:单独的 jar 列表 ( path="...") 或嵌套资源集合 (如fileset) 来指定。

此外,如果你想调试它们,它是不同的:

<echo message="Build-path: ${toString:build-path}" />

对比

<property name="debug.classpath" refid="classpath"/>
<echo message="Classpath = ${debug.classpath}"/>

至于你的脚本,

<path id="somePathId">
    <pathelement location="someDir"/>
</path>

我没有测试它,但根据文档 path=需要一个;:单独的 jar 列表。这与您的第二个示例不同。

于 2011-07-01T09:54:31.883 回答