Java Jar Ant включает папку

Мой вопрос: как я могу поместить файлы в подкаталог в свою банку через ant? Сейчас мой код:

<jar destfile="${dist.dir}\wo42.jar" basedir="bin">
<manifest>
    <attribute name="Main-Class" value="org.alternativedev.wo42.App" />
    <attribute name="Class-Path" value="lib" />
</manifest>
<zipgroupfileset dir="lib/." excludes="natives/*" />
<fileset dir="data/." includes="." />

Он создает структуру типа

ROOT-Jar
-org
--bla
-filefromdata1
-filefromdata2

Но это должно быть

ROOT-Jar
-org
--bla
-data
--filefromdata1
--filefromdata2

Знаете ли вы, что я имею в виду?

Приветствия, BigTeddy

Ответ 1

Измените последнюю строку на

<fileset dir="." includes="data/**" />

Не нужно копировать файлы.

Альтернативный способ (который полезен, если вы хотите, чтобы каталог в архиве имел другое имя) был бы

<zipfileset dir="data" includes="." prefix="folder-name-in-jar"/>

Ответ 2

Сначала вы создаете требуемую структуру файлов и копируете на нее все необходимые файлы. Затем вы запускаете команду jar в результирующем корневом каталоге.

Для копирования файлов вы можете использовать ANT задача копирования Например:

<copy todir="../dest/dir">
<fileset dir="." includes="data/**/*.java">
</fileset>

Подробнее о том, как упаковать jar (основы) здесь