2012-02-19 14 views
10

La mia domanda è: come sono in grado di mettere i file in una sottodirectory nel mio contenitore tramite formica? In questo momento il mio codice è:Java Jar Ant include cartella

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

Si crea una struttura come

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

Ma dovrebbe essere

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

Sai cosa voglio dire?

Saluti, BigTeddy

+0

Eventuali duplicati di [come includere directory struttura in un file ant jar?] (http://stackoverflow.com/questions/364531/how-to-include-directory-structure-in-an-ant-jar-file) –

risposta

15

Modificare l'ultima riga di

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

Non c'è bisogno di copiare i file in giro.

Un modo alternativo (che è utile se si vuole avere la directory in archivio per avere un nome diverso) sarebbe

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

Grazie mille, questa era la soluzione :) – jhbruhn

2

In primo luogo, si crea la struttura dei file è necessario e copiarlo a tutto i file richiesti. Quindi esegui il comando jar sulla directory root risultante.

Per copiare i file è possibile utilizzare il ANT copy task Ad esempio:

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

Maggiori info su come imballare vaso (basi) here

Problemi correlati