嵌套路径和文件集之间有什么区别?

Dmi*_*try 10 ant path fileset

我一直在谷歌搜索"文件集和路径之间的差异"文章一段时间,但没有发现任何有用的东西.例如,以下内容之间的区别是什么(例如,有一个someDir目录,其中包含.jar文件且没有子目录):

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

<path id="someId">
  <path refid="somePathId" />
</path>
Run Code Online (Sandbox Code Playgroud)

<path id="someId">
  <fileset dir="someDir">
     <include name="*.*">
  </fileset>
</path>
Run Code Online (Sandbox Code Playgroud)

Thr*_*esh 2

它们用于不同的情况。

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

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

另外,如果你想调试它们,那就不同了:

<echo message="Build-path: ${toString:build-path}" />
Run Code Online (Sandbox Code Playgroud)

<property name="debug.classpath" refid="classpath"/>
<echo message="Classpath = ${debug.classpath}"/>
Run Code Online (Sandbox Code Playgroud)

至于你的脚本,

<path id="somePathId">
    <pathelement location="someDir"/>
</path>
Run Code Online (Sandbox Code Playgroud)

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