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 ถูกวางไว้ในโฟลเดอร์ผลลัพธ์