2012-02-19 25 views
10

klasörünü içerir. Sorumu: Bir alt dizindeki dosyaları karıncadan kavanoza nasıl yerleştirebilirim? Şu anda benim Kod geçerli:Java Jar 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="." /> 

O

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

gibi bir yapı oluşturur Ama

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

Ne demek istediğimi biliyor musunuz olmalıdır?

Selamlar, BigTeddy

+0

Olası yinelenen [Nasıl dizin eklemek için:

dosyaları kopyalamak için size Örneğin ANT copy task kullanabilirsiniz Bir ant kavanoz dosyasında yapı?] (http://stackoverflow.com/questions/364531/how-to-include-directory-structure-in-an-ant-jar-file) –

cevap

15

Değişim

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

son çizgi etrafında dosyaları kopyalamak gerek yok. (Eğer farklı bir isim olması arşivde dizini yapmak istiyorsanız yararlıdır)

alternatif bir yolu

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

Çok teşekkürler, çözüm oldu :) – jhbruhn

2

İlk olurdu, ihtiyacınız dosya yapısını oluşturmak ve hepsi kopyalamak gerekli dosyalar. Sonra ortaya çıkan kök dizinde jar komutunu çalıştırırsınız.

<copy todir="../dest/dir"> 
<fileset dir="." includes="data/**/*.java"> 
</fileset> 
kavanoz paketi nasıl

Daha (temelleri) ait here