考虑以下目录结构:
./source/com/mypackage/../A.java
./extensions/extension1/source/com/mypackage/../T.java
./extensions/extension2/source/com/mypackage/../U.java
...
./extensions/extensionN/source/com/mypackage/../Z.java
我想生成一个包含以下内容的源 jar:
com/mypackage/../A.java
com/mypackage/../T.java
com/mypackage/../U.java
...
com/mypackage/../Z.java
我知道我可以为每个源目录使用一个文件集。
但是是否有一个使用 ANT 的简单解决方案,而无需显式引用所有扩展呢?
将要包含在存档中的所有文件平铺到单个目录结构中,然后从那里存档怎么样?
Use a 正则表达式映射器 http://ant.apache.org/manual/Types/mapper.html要在复制过程中进行展平,如下所示:
<delete dir="merged" />
<mkdir dir="merged" />
<copy todir="${basedir}/merged">
<fileset dir="${basedir}">
<include name="source/**"/>
<include name="extension*/**"/>
</fileset>
<regexpmapper from=".*source/(.*)" to="\1" />
</copy>
<jar destfile="mypackage.jar" filesonly="yes">
<fileset dir="merged">
<include name="**" />
</fileset>
</jar>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)