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 (основы) здесь