如何从不同(子)目录的jar java源文件? [英] How to jar java source files from different (sub-)directories?

查看:132
本文介绍了如何从不同(子)目录的jar java源文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

考虑下面的目录结构:

./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

我要产生源罐子下列内容:

I want to produce a source jar with the following contents:

com/mypackage/../A.java
com/mypackage/../T.java
com/mypackage/../U.java
...
com/mypackage/../Z.java

我知道我可以使用一个文件集为每个源目录。
但有使用ANT一个简单的解决方案,而无需指所有的扩展明确?

I know I could use a fileset for each source directory. But is there an easy solution using ANT without having to refer to all extensions explicitly?

推荐答案

如何扁平化的所有文件将包含在归档到一个单一的目录结构,然后从那里归档?

How about flattening all the files to be included in the archive into a single directory structure, then archiving from there?

使用一个 regexpmapper 做复制过程中压平,这样的事情:

Use a regexpmapper to do the flatten during copy, something like this:

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

这篇关于如何从不同(子)目录的jar java源文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆