2012-02-19 2 views
10

Мой вопрос: как я могу помещать файлы в подкаталог в свою банку с помощью муравья? Сейчас мой код:Java Jar Ant include folder

<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

+0

Возможный дубликат [Как включить каталог структура в файле муравьев jar?] (http://stackoverflow.com/questions/364531/how-to-include-directory-structure-in-an-ant-jar-file) –

ответ

15

Изменение последней строки в

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

Нет необходимости копировать файлы вокруг.

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

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

Большое спасибо, это было решением :) – jhbruhn

2

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

Чтобы скопировать файлы, которые вы можете использовать ANT copy task Например:

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

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

Смежные вопросы