2012-02-19 32 views
10

Câu hỏi của tôi là: Làm thế nào để tôi có thể đặt các tệp trong thư mục con vào thùng của tôi qua kiến? Ngay bây giờ Mã của tôi là:Java Jar Ant bao gồm thư mục

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

Nó tạo ra một cấu trúc như

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

Nhưng nó phải được

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

Bạn có hiểu ý tôi chứ?

Greetings, BigTeddy

+0

có thể trùng lặp của [Làm thế nào để bao gồm thư mục cấu trúc trong một tệp jar kiến?] (http://stackoverflow.com/questions/364531/how-to-include-directory-structure-in-an-ant-jar-file) –

Trả lời

15

Thay đổi dòng cuối cùng để

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

Không cần phải sao chép tập tin xung quanh.

Một cách khác (đó là hữu ích nếu bạn muốn có thư mục trong kho lưu trữ để có một cái tên khác nhau) sẽ là

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

Cảm ơn rất nhiều, đó là giải pháp :) – jhbruhn

2

Trước tiên, bạn tạo cấu trúc tập tin bạn cần và sao chép vào nó tất cả các tệp được yêu cầu. Sau đó, bạn chạy lệnh jar trên thư mục gốc.

Để sao chép các tập tin bạn có thể sử dụng ANT copy task Ví dụ:

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

Thông tin thêm về làm thế nào để đóng gói jar (cơ bản) here

Các vấn đề liên quan