Ant - Tạo tệp JAR
Bước hợp lý tiếp theo sau khi biên dịch các tệp nguồn java của bạn, là xây dựng kho lưu trữ java, tức là tệp JAR. Tạo tệp JAR với Ant khá dễ dàng vớijarbài tập. Các thuộc tính thường được sử dụng của tác vụ jar như sau:
Sr.No. | Thuộc tính & Mô tả |
---|---|
1 | basedir Thư mục cơ sở cho tệp JAR đầu ra. Theo mặc định, điều này được đặt thành thư mục cơ sở của dự án. |
2 | compress Khuyên Ant nén tệp khi nó tạo tệp JAR. |
3 | keepcompression Trong khi compress thuộc tính áp dụng cho các tệp riêng lẻ, keepcompression thuộc tính làm điều tương tự, nhưng nó áp dụng cho toàn bộ kho lưu trữ. |
4 | destfile Tên của tệp JAR đầu ra. |
5 | duplicate Tư vấn cho Ant về những việc cần làm khi tìm thấy các tệp trùng lặp. Bạn có thể thêm, giữ lại hoặc làm hỏng các tệp trùng lặp. |
6 | excludes Khuyên Ant không bao gồm danh sách các tệp được phân tách bằng dấu phẩy này trong gói. |
7 | excludesfile Tương tự như trên, ngoại trừ các tệp loại trừ được chỉ định bằng cách sử dụng một mẫu. |
số 8 | inlcudes Nghịch đảo của loại trừ. |
9 | includesfile Ngược lại với tệp loại trừ. |
10 | update Khuyên Ant ghi đè lên các tệp trong tệp JAR đã được xây dựng. |
Tiếp tục của chúng tôi Hello WorldDự án Ứng dụng Fax, hãy để chúng tôi thêm một mục tiêu mới để tạo các tệp jar. Nhưng trước đó, chúng ta hãy xem xét nhiệm vụ jar được đưa ra bên dưới.
<jar destfile = "${web.dir}/lib/util.jar"
basedir = "${build.dir}/classes"
includes = "faxapp/util/**"
excludes = "**/Test.class" />
Đây, web.dirthuộc tính trỏ đến đường dẫn của các tệp nguồn web. Trong trường hợp của chúng tôi, đây là vị trí của use.jar sẽ được đặt.
Các build.dir thuộc tính trong ví dụ này trỏ đến thư mục xây dựng, nơi có thể tìm thấy các tệp lớp cho use.jar.
Trong ví dụ này, chúng tôi tạo một tệp jar có tên util.jar sử dụng các lớp từ faxapp.util.*gói hàng. Tuy nhiên, chúng tôi loại trừ các lớp kết thúc bằng tên Test. Tệp jar đầu ra sẽ được đặt trong thư mục lib của ứng dụng web.
Nếu chúng ta muốn làm cho ut.jar trở thành một tệp jar thực thi, chúng ta cần thêm manifest với Main-Class thuộc tính meta.
Do đó, ví dụ trên sẽ được cập nhật thành:
<jar destfile = "${web.dir}/lib/util.jar"
basedir = "${build.dir}/classes"
includes = "faxapp/util/**"
excludes = "**/Test.class">
<manifest>
<attribute name = "Main-Class" value = "com.tutorialspoint.util.FaxUtil"/>
</manifest>
</jar>
Để thực hiện nhiệm vụ jar, hãy bọc nó bên trong một mục tiêu, phổ biến nhất là mục tiêu xây dựng hoặc gói và thực thi chúng.
<target name = "build-jar">
<jar destfile = "${web.dir}/lib/util.jar"
basedir = "${build.dir}/classes"
includes = "faxapp/util/**"
excludes = "**/Test.class">
<manifest>
<attribute name = "Main-Class" value = "com.tutorialspoint.util.FaxUtil"/>
</manifest>
</jar>
</target>
Chạy Ant trên tập tin này sẽ tạo ra tập tin use.jar cho chúng tôi.
Kết quả sau là kết quả của việc chạy tệp Ant -
C:\>ant build-jar
Buildfile: C:\build.xml
BUILD SUCCESSFUL
Total time: 1.3 seconds
Hiện tại, tập tin use.jar đã được đặt trong thư mục đầu ra.