目录属性中的 Ant 文件集通配符



我的 Eclipse 工作区中有多个项目:版本 1、版本 2版本 3

我想将每个目录中的.class文件包含在输出.jar文件中。我希望将.class文件放入jar文件的根目录中。

像这样:

<fileset dir="../Version*" includes="*.class" />

但是,这不起作用。这样做:

<fileset dir=".." includes="Version*/*.class" />

但在输出 jar 文件中,这些文件被包含在目录中。 例如版本 1/版本 1.class、版本 2/版本 2.class

这不是我想要的。我希望版本 1.class 和版本 2.class 位于 jar 文件的根目录中。

希望我解释得很好,如果需要澄清,请告诉我 - 提前感谢。

应该可以为您的<jar任务配备映射器。使用该映射器,切掉第一个文件夹组件。请参阅 https://ant.apache.org/manual/Types/mapper.html

事实证明,我距离弄清楚这一点只有几次谷歌搜索。

这是一个对我有用的解决方案:

<pathconvert property="versions" pathsep=",">
    <dirset dir=".." includes="Versions*" />
</pathconvert>

然后在罐子任务中:

<multirootfileset basedirs="${versions}" type="file" includes="*.class" />

需要 Ant 1.9.4

相关内容

  • 没有找到相关文章

最新更新