1

因为有些人忘记将 junit 范围设置为“测试”,所以它已经与我们的库一起打包。由于我们在最终产品中不需要 junit,因此我想在解压缩任务中排除类文件。

注意:此任务在进一步的构建过程中是必需的,因此不可以选择。

到目前为止,我的解压缩语句如下所示:

<unzip dest="${classes.dir}">
    <fileset refid="dependency.fileset"/>
    <patternset>
        <exclude name="META-INF/*"/>
        <exclude name="org/junit/**/*.class"/>
        <exclude name="junit/**/*.class"/>
    </patternset>
</unzip>

我尝试了各种组合,但 junit 和 META-INF 文件每次都会神奇地重新出现。作为一种解决方法,我添加了一个带有文件集的删除语句。如果我可以选择在 unzip 语句中添加模式集,它可以工作,但完全没有必要——在我看来:

<delete includeemptydirs="true">
    <fileset dir="${classes.dir}" casesensitive="false" includes="META-INF/*,junit/**/*,org/junit/**/*" />
</delete>

我已经阅读了手册,但没有找到有关如何解决此问题的线索。

我错过了什么,模式不正确还是其他什么?

4

0 回答 0