วิธีสร้างและเรียกใช้ไฟล์ .Jar ใน Linux Terminal
JAR (Java ARchive) คือรูปแบบไฟล์ที่ไม่ขึ้นอยู่กับแพลตฟอร์ม ซึ่งใช้เพื่อรวมไฟล์คลาส Java จำนวนมากและข้อมูลเมตาและทรัพยากรที่เกี่ยวข้อง เช่น ข้อความ รูปภาพ ฯลฯ ไว้ในไฟล์เดียว เพื่อการจำหน่าย
ช่วยให้รันไทม์ Java ปรับใช้แอปพลิเคชันทั้งหมดได้อย่างมีประสิทธิภาพในไฟล์เก็บถาวรไฟล์เดียว และให้ประโยชน์มากมาย เช่น ความปลอดภัย องค์ประกอบต่างๆ อาจถูกบีบอัด ลดเวลาในการดาวน์โหลด ช่วยให้สามารถปิดผนึกแพ็คเกจและการกำหนดเวอร์ชัน รองรับการพกพา นอกจากนี้ยังรองรับการบรรจุภัณฑ์สำหรับส่วนขยายด้วย
ในบทความนี้ เราจะแสดงวิธีสร้างแอปพลิเคชัน Java แบบง่ายและรวมไว้ในไฟล์ JAR และสาธิตวิธีเรียกใช้ไฟล์ .jar
จากเทอร์มินัล Linux
ในการดำเนินการนี้ คุณต้องติดตั้งเครื่องมือบรรทัดคำสั่ง Java เพื่อเปิดใช้แอปพลิเคชัน Java และแฟล็ก -jar
เพื่อรันโปรแกรมที่ห่อหุ้มไว้ในไฟล์ JAR เมื่อใช้แฟล็กนี้ ไฟล์ JAR ที่ระบุจะเป็นแหล่งที่มาของคลาสผู้ใช้ทั้งหมด และค่าติดตั้งคลาสพาธอื่นจะถูกละเว้น
วิธีสร้างไฟล์ JAR ใน Linux
1. ขั้นแรกให้เริ่มต้นด้วยการเขียนคลาส Java แบบง่ายด้วยวิธีการหลักสำหรับแอปพลิเคชันชื่อ TecmintApp เพื่อวัตถุประสงค์ในการสาธิต
vim TecmintApp.java
คัดลอกและวางโค้ดต่อไปนี้ลงในไฟล์ TecmintApp.java
public class TecmintApp {
public static void main(String[] args){
System.out.println(" Just executed TecmintApp! ");
}
}
บันทึกไฟล์และปิด
2. ต่อไป เราต้องคอมไพล์และแพ็คคลาสลงในไฟล์ JAR โดยใช้ยูทิลิตี้ javac และ jar ตามที่ปรากฏ.
javac -d . TecmintApp.java
ls
jar cvf tecmintapp.jar TecmintApp.class
ls
3. เมื่อสร้าง tecmintapp.jar ตอนนี้คุณสามารถรันไฟล์โดยใช้คำสั่ง java ดังที่แสดง
java -jar tecmintapp.jar
no main manifest attribute, in tecmintapp.jar
จากผลลัพธ์ของคำสั่งข้างต้น เราพบข้อผิดพลาด JVM (Java Virtual Machine) ไม่พบ แอตทริบิวต์รายการ หลักของเรา ดังนั้นจึงไม่สามารถระบุตำแหน่งคลาสหลักที่มีวิธีการหลักได้ ( โมฆะคงที่สาธารณะหลัก (String [] args))
ไฟล์ JAR ควรมีรายการที่มีบรรทัดในรูปแบบ Main-Class:classname ที่กำหนดคลาสด้วยวิธีหลักที่ทำหน้าที่เป็นจุดเริ่มต้นของแอปพลิเคชันของเรา
4. เพื่อแก้ไขข้อผิดพลาดข้างต้น เราจะต้องอัปเดตไฟล์ JAR เพื่อรวม แอตทริบิวต์รายการ ไว้ด้วยกันกับโค้ดของเรา มาสร้างไฟล์ MANIFEST.MF กัน
vim MANIFEST.MF
คัดลอกและวางบรรทัดต่อไปนี้ลงในไฟล์ MANIFEST.MF
Main-Class: TecmintApp
บันทึกไฟล์และเพิ่มไฟล์ MANIFEST.MF ลงใน tecmintapp.jar ของเราโดยใช้คำสั่งต่อไปนี้
jar cvmf MANIFEST.MF tecmintapp.jar TecmintApp.class
5. สุดท้ายนี้ เมื่อเราเรียกใช้งานไฟล์ JAR อีกครั้ง ควรให้ผลลัพธ์ตามที่คาดหวังดังที่แสดงในเอาต์พุต
java -jar tecmintapp.jar
Just executed TecmintApp!
สำหรับข้อมูลเพิ่มเติม โปรดดูหน้าคำสั่ง java, javac และ jar
man java
man javac
man jar
นั่นคือทั้งหมด! ในบทความสั้นๆ นี้ เราได้อธิบายวิธีสร้างแอปพลิเคชัน Java แบบง่ายและรวมไว้ในไฟล์ JAR และสาธิตวิธีเรียกใช้ไฟล์ .jar จากเทอร์มินัล หากคุณมีคำถามหรือแนวคิดเพิ่มเติมที่จะแบ่งปัน โปรดใช้แบบฟอร์มคำติชมด้านล่าง