Ant - การสร้างไฟล์ JAR
ขั้นตอนตรรกะถัดไปหลังจากรวบรวมไฟล์ซอร์ส java ของคุณคือการสร้างไฟล์เก็บถาวร java นั่นคือไฟล์ JAR การสร้างไฟล์ JAR ด้วย Ant นั้นค่อนข้างง่ายด้วยไฟล์jarงาน. แอตทริบิวต์ที่ใช้กันทั่วไปของงาน jar มีดังนี้ -
ซีเนียร์ | คุณสมบัติและคำอธิบาย |
---|---|
1 | basedir ไดเร็กทอรีฐานสำหรับไฟล์ JAR เอาต์พุต โดยค่าเริ่มต้นจะถูกตั้งค่าเป็นไดเร็กทอรีฐานของโปรเจ็กต์ |
2 | compress แนะนำให้ Ant บีบอัดไฟล์ในขณะที่สร้างไฟล์ JAR |
3 | keepcompression ในขณะที่ compress แอตทริบิวต์สามารถใช้ได้กับแต่ละไฟล์ไฟล์ keepcompression แอตทริบิวต์ทำสิ่งเดียวกัน แต่ใช้กับไฟล์เก็บถาวรทั้งหมด |
4 | destfile ชื่อของไฟล์ JAR เอาต์พุต |
5 | duplicate ให้คำแนะนำ Ant ว่าควรทำอย่างไรเมื่อพบไฟล์ที่ซ้ำกัน คุณสามารถเพิ่มรักษาหรือล้มเหลวของไฟล์ที่ซ้ำกันได้ |
6 | excludes ขอแนะนำให้ Ant ไม่รวมรายการไฟล์ที่คั่นด้วยจุลภาคเหล่านี้ในแพ็คเกจ |
7 | excludesfile เช่นเดียวกับข้างต้นยกเว้นไฟล์ที่ยกเว้นจะระบุโดยใช้รูปแบบ |
8 | inlcudes ผกผันของการไม่รวม |
9 | includesfile ผกผันของ excludesfile |
10 | update แนะนำให้ Ant เขียนทับไฟล์ในไฟล์ JAR ที่สร้างไว้แล้ว |
ดำเนินการต่อ Hello Worldโครงการ Fax Application ให้เราเพิ่มเป้าหมายใหม่เพื่อสร้างไฟล์ jar แต่ก่อนหน้านั้นให้เราพิจารณางานโถที่ให้ไว้ด้านล่าง
<jar destfile = "${web.dir}/lib/util.jar"
basedir = "${build.dir}/classes"
includes = "faxapp/util/**"
excludes = "**/Test.class" />
ที่นี่ web.dirชี้ไปที่เส้นทางของไฟล์แหล่งที่มาของเว็บ ในกรณีของเรานี่คือตำแหน่งที่จะวาง util.jar
build.dir คุณสมบัติในตัวอย่างนี้ชี้ไปที่โฟลเดอร์ build ที่สามารถพบไฟล์คลาสสำหรับ util.jar
ในตัวอย่างนี้เราสร้างไฟล์ jar ที่เรียกว่า util.jar โดยใช้คลาสจาก faxapp.util.*แพ็คเกจ อย่างไรก็ตามเราไม่รวมคลาสที่ลงท้ายด้วยชื่อ Test ไฟล์ jar ผลลัพธ์จะถูกวางไว้ในโฟลเดอร์ lib ของเว็บแอปพลิเคชัน
หากเราต้องการทำให้ util.jar เป็นไฟล์ jar ที่เรียกใช้งานได้เราต้องเพิ่มไฟล์ manifest กับ Main-Class meta แอตทริบิวต์
ดังนั้นตัวอย่างข้างต้นจะได้รับการอัปเดตเป็น -
<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>
ในการดำเนินการงาน jar ให้ห่อไว้ภายในเป้าหมายโดยทั่วไปคือ build หรือ package target และดำเนินการ
<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>
การรัน Ant บนไฟล์นี้จะสร้างไฟล์ util.jar ให้เรา
ผลลัพธ์ต่อไปนี้เป็นผลมาจากการรันไฟล์ Ant -
C:\>ant build-jar
Buildfile: C:\build.xml
BUILD SUCCESSFUL
Total time: 1.3 seconds
ตอนนี้ไฟล์ util.jar ถูกวางไว้ในโฟลเดอร์ผลลัพธ์