Tuesday, September 4, 2012

สร้าง executable jar

เมื่อเขียนโค้ดจาวาเสร็จแล้ว อยากจะเผยแพร่ให้คนอื่นใช้ จะทำอย่างไรดี

สำหรับคนที่ใช้ Eclipse จะสามารถคลิกขวาที่โปรเจ็ค เลือก Export แล้วสร้าง executable jar ได้

แต่บางครั้งก็มีปัญหาครับ เพราะหากโค้ดของเรามีการใช้ไฟล์ jar จากภายนอกเพิ่มเติม บางที Eclipse ก็ไม่สามารถทำได้

ลองมาทำกันแบบ command line ดีกว่า

สมมติว่าเราติดตั้ง jdk ในเครื่องแล้ว กำหนด path ให้ถูกต้อง

1 เปิด command prompt
2 ไปที่โฟลเดอร์ที่เก็บผลลัพธ์จากการคอมไพล์ (ที่มีไฟล์ .class)
3 สร้างไฟล์ manifest.txt แนะนำให้ใช้ notepad ธรรมดา
4 เติมเนื้อหาดังเช่น

Main-Class: QRReader
Class-Path: dsj.jar JNative.jar


ความหมาย
Main-Class:(เคาะ)ชื่อของคลาสหลัก
Class-Path:(เคาะ)ชื่อของ external jar (ถ้ามี) ต้องเรียงลำดับตามการอ้างถึงในคลาสหลัก เช่นตามตัวอย่างคลาสใน dsj.jar จะถูกเรียกใช้ก่อน JNative.jar
(ขึ้นบรรทัดใหม่)

ต้องระวังให้ดีว่า บรรทัดสุดท้ายของไฟล์ manifest นี้ต้องเคาะให้เป็นบรรทัดว่างเสมอ

5 ใช้คำสั่ง jar -cfm test.jar manifest.txt *.class
6 จะได้ไฟล์ test.jar มา ซึ่งสามารถย้ายไปไว้ที่เดียวกับไฟล์อื่นๆที่จำเป็น เช่น ตามตัวอย่างคือ dsj.jar และ JNative.jar รวมถึงไฟล์อื่นๆอีกเช่นไฟล์ dll เป็นต้น
7 ลองใช้คำสั่ง java -jar test.jar หรือ javaw -jar test.jar ทดสอบรัน หรือสำหรับบางเครื่องสามารถดับเบิลคลิกไฟล์ jar ได้เลย
8 ถ้ามีปัญหาดับเบิลคลิกไฟล์ jar ไม่ได้ ก็เขียน batch file (นามสกุล .bat เช่น test.bat) แล้วแปะโค้ด java -jar test.jar หรือ javaw -jar test.jar ลงไป
9 ถ้าอยากใช้ java executable wrapper เพื่อสร้างไฟล์ exe ที่ไปเรียก jar ไฟล์อีกที แนะนำลองใช้ Lanuch4j ครับ สุดยอดมากๆ

No comments:

Post a Comment