首页 文章

dir属性中的Ant文件集通配符

提问于
浏览
1

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

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

像这样的东西:

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

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

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

但是在输出jar文件中,文件被包含在目录中 . 例如 . 版本1 / Version1.class,版本2 / Version2.class

这不是我想要的 . 我希望Version1.class和Version2.class位于jar文件的根目录中 .

希望我能解释清楚,如果需要澄清,请告诉我 - 并提前感谢 .

2 回答

  • 0

    应该可以为 <jar 任务配备Mapper . 使用该映射器,删除第一个文件夹组件 . 见https://ant.apache.org/manual/Types/mapper.html

  • 0

    事实证明,我只有少数谷歌搜索,而不是搞清楚这一点 .

    这是一个适合我的解决方案:

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

    然后在jar任务中:

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

    需要Ant 1.9.4

相关问题