2012-02-19 16 views
10

Moje pytanie brzmi: w jaki sposób mogę umieścić pliki w podkatalogu w moim słoju za pośrednictwem ant? Teraz jest mój kod:Java Jar Ant to 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="." /> 

Tworzy strukturę jak

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

Ale to powinno być

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

Wiesz, co mam na myśli?

Pozdrowienia, BigTeddy

+0

Możliwy duplikat [Jak to katalog struktura w pliku mrówki?] (http://stackoverflow.com/questions/364531/how-to-include-directory-structure-in-an-ant-jar-file) –

Odpowiedz

15

zmienić ostatni wiersz do

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

Nie ma potrzeby kopiowania plików wokół.

Alternatywny sposób (co jest przydatne, jeśli chcesz mieć katalog w archiwum mieć inną nazwę) byłoby

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

Wielkie dzięki, to było rozwiązanie :) – jhbruhn

2

Najpierw należy utworzyć strukturę plików trzeba i skopiować do niego wszystkich wymagane pliki. Następnie uruchom komendę jar w wynikowym katalogu głównym.

W celu skopiowania plików można użyć ANT copy task Na przykład:

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

Więcej na jak zapakować słoik (podstawy) here

Powiązane problemy