ค้นหาเว็บไซต์

วิธีสร้างและเรียกใช้ไฟล์ .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 จากเทอร์มินัล หากคุณมีคำถามหรือแนวคิดเพิ่มเติมที่จะแบ่งปัน โปรดใช้แบบฟอร์มคำติชมด้านล่าง