我的 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