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

发布于 2024-11-18 12:30:17 字数 476 浏览 4 评论 0原文

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

有什么区别?

I have been googling for the "Differences between fileset and path" article for some time, but have found nothing useful.
For example, what is the difference between the following (say, there is a someDir directory, which contains .jar files and has no subdirectories):

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

<path id="someId">
  <path refid="somePathId" />
</path>

and

<path id="someId">
  <fileset dir="someDir">
     <include name="*.*">
  </fileset>
</path>

?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浴红衣 2024-11-25 12:30:17

它们用于不同的情况。

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

classpath 用于指定类路径引用。可以使用单个 jar (location="...")、;: 指定 classpath分隔的 jar 列表(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>

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

They are used in different situations.

fileset is used to specify a group of files. You can use selectors and patternsets to get only the files you want.

classpath is used to specify classpath references. classpath can be specified with a single jar (location="..."), a ; or : separated list of jars (path="...") or with nested resource collections (like fileset).

Also if you want to debug them, it is different:

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

vs

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

As for your scripts,

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

I did not test it but according to the documentation path= expects a ; or : separated list of jars. This is not the same as your second example.

┾廆蒐ゝ 2024-11-25 12:30:17

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

<path id="someId">
  <fileset dir="someDir">
     <include name="*.java">
     <include name="*.properties">
  </fileset>
</path>

The major difference between a <path> and a <fileset> is that in <fileset> you can specify if you want to include or exclude certain type of files (Basically, its a group of files within a path... not necessary all the files), for eg:

<path id="someId">
  <fileset dir="someDir">
     <include name="*.java">
     <include name="*.properties">
  </fileset>
</path>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文