Launch4j คืออะไร? วิธีติดตั้งและใช้งาน Launch4j แปลงไฟล์ Java (.jar) เป็น .exe


หากพัฒนาโปรแกรมด้วยภาษา Java เมื่อ Build เสร็จแล้วจะได้ไฟล์นามสกุล .jar ซึ่งผู้ใช้งานต้องติดตั้ง Java Runtime Environment (JRE) ก่อนจึงจะสามารถเปิดโปรแกรมได้

แต่หากต้องการให้โปรแกรมดูเหมือนโปรแกรม Windows ทั่วไป สามารถสร้างไฟล์ .exe ได้ด้วย Launch4j ซึ่งเป็นโปรแกรมฟรีและได้รับความนิยมมากที่สุดสำหรับแปลงไฟล์ .jar เป็น .exe

ข้อควรรู้

Launch4j ไม่ได้แปลง Java เป็นภาษาเครื่อง (Native Code) แต่เป็นการสร้างตัว Launcher (.exe) ที่ใช้เรียกโปรแกรม Java (.jar) อีกที


Launch4j คืออะไร

Launch4j เป็นโปรแกรม Open Source สำหรับสร้างไฟล์ .exe จากโปรแกรม Java

คุณสมบัติเด่น

  • แปลงไฟล์ .jar เป็น .exe
  • รองรับการกำหนดไอคอนโปรแกรม (.ico)
  • ซ่อนหน้าต่าง Console
  • ตรวจสอบเวอร์ชัน Java ก่อนเปิดโปรแกรม
  • สามารถกำหนดให้ใช้ JRE ที่แถมมากับโปรแกรม (Bundled JRE)
  • รองรับทั้ง Windows 32-bit และ 64-bit

เหมาะสำหรับ

  • โปรแกรม Swing
  • โปรแกรม JavaFX
  • โปรแกรม AWT
  • โปรแกรม Desktop ทั่วไป

ข้อดีของ Launch4j

  • ฟรี 100%
  • ใช้งานง่าย
  • ไฟล์มีขนาดเล็ก
  • รองรับ Icon
  • ไม่ต้องเขียนโค้ดเพิ่ม
  • รองรับการสร้างผ่าน GUI และ XML
  • ใช้ร่วมกับ JRE ที่ Bundle มาได้

ดาวน์โหลด Launch4j

สามารถดาวน์โหลดได้จากเว็บไซต์ทางการ

https://launch4j.sourceforge.net

เมื่อดาวน์โหลดแล้วแตกไฟล์ เช่น

Launch4j\
    launch4j.exe
    launch4jc.exe
    demo\
    lib\

ไม่ต้องติดตั้ง สามารถใช้งานได้ทันที


เตรียมไฟล์ก่อนแปลง

สมมติว่าโปรเจกต์ของเรามีไฟล์ดังนี้

Project

├── TimeComputer.java
├── TimeComputer.class
├── time-computer.jar
├── icon.ico
├── launch4j.xml
└── jre\

สร้างไฟล์ JAR

Compile

javac TimeComputer.java

สร้าง JAR

jar cfe time-computer.jar TimeComputer *.class

เมื่อเสร็จจะได้

time-computer.jar

เปิด Launch4j

เปิด

launch4j.exe

จะพบหน้าต่างตั้งค่าหลัก


ตั้งค่า Basic

Output file

กำหนดชื่อไฟล์ EXE

TimeComputer.exe

Jar

เลือกไฟล์

time-computer.jar

Icon

เลือก

icon.ico

รองรับเฉพาะ

.ico

ไม่รองรับ

.png
.jpg

Header Type

เลือก

GUI

เพื่อไม่ให้เปิดหน้าต่าง Console


ตั้งค่า JRE

เปิดแท็บ

JRE

กำหนด

Minimum JRE Version

1.8.0

หาก Bundle JRE ไว้ด้วย

jre

หมายถึง

TimeComputer.exe
jre\

อยู่โฟลเดอร์เดียวกัน


กำหนด Main Class

หากไม่ได้ใช้ Executable JAR

ให้ระบุ

TimeComputer

ซึ่งเป็นชื่อคลาสที่มี

public static void main()

Build

กดปุ่ม

Build Wrapper

หรือ

Gear Icon

เมื่อสำเร็จจะได้

TimeComputer.exe

ใช้ไฟล์ XML แทน GUI

Launch4j รองรับการตั้งค่าผ่าน XML

ตัวอย่าง

<launch4jConfig>

    <outfile>TimeComputer.exe</outfile>

    <jar>time-computer.jar</jar>

    <icon>icon.ico</icon>

    <headerType>gui</headerType>

    <chdir>.</chdir>

    <classPath>
        <mainClass>TimeComputer</mainClass>
    </classPath>

    <jre>
        <path>jre</path>
        <minVersion>1.8.0</minVersion>
        <bundledJre64Bit>false</bundledJre64Bit>
    </jre>

</launch4jConfig>

จากนั้นเลือก

Open Config

แล้วกด

Build Wrapper

Bundle JRE ไปพร้อมโปรแกรม

หากไม่ต้องการให้ผู้ใช้ติดตั้ง Java

ให้คัดลอก

jre

มาไว้ข้าง ๆ โปรแกรม

ตัวอย่าง

TimeComputer.exe
time-computer.jar
jre\

Launch4j จะใช้ Java ในโฟลเดอร์นี้ก่อน

เหมาะสำหรับ

  • Windows XP
  • Windows 7
  • เครื่องที่ไม่มี Java

การแจกโปรแกรม

ห้ามแจกเฉพาะ

TimeComputer.exe

เพราะตัว EXE เป็นเพียง Launcher

ต้องแจกอย่างน้อย

TimeComputer.exe
time-computer.jar
jre\

หรือบีบอัดเป็น ZIP

TimeComputer.zip

ให้ผู้ใช้แตกไฟล์ก่อนใช้งาน


ปัญหาที่พบบ่อย

This application requires Java Runtime Environment

สาเหตุ

  • ไม่มี Java
  • หา JRE ไม่เจอ
  • เวอร์ชัน Java ต่ำเกินไป

วิธีแก้

  • ติดตั้ง JRE
  • หรือ Bundle โฟลเดอร์ jre
  • ตรวจสอบ <path>jre</path> ในไฟล์ XML

Icon ไม่ขึ้น

ตรวจสอบว่า

  • เป็นไฟล์ .ico
  • มีขนาด 16×16, 32×32, 48×48 และ 256×256 ภายในไฟล์เดียว
  • เลือกไฟล์ Icon ใน Launch4j ถูกต้อง
  • ลบไฟล์ .exe เดิมก่อน Build ใหม่
  • หาก Windows ยังแสดงไอคอนเดิม ให้รีเฟรชหรือรีสตาร์ต Explorer เพราะ Windows มีการแคชไอคอน

Build ไม่ผ่าน

ตรวจสอบ

  • ไฟล์ .jar มีอยู่จริง
  • Main Class ถูกต้อง
  • XML ไม่มี Syntax Error
  • ชื่อไฟล์สะกดถูกต้อง

ข้อดีและข้อเสีย

ข้อดี

  • ฟรี
  • ใช้งานง่าย
  • รองรับ Icon
  • รองรับ JRE แบบ Bundle
  • เหมาะกับโปรแกรม Java Desktop
  • มีทั้ง GUI และ XML

ข้อเสีย

  • ไม่ได้แปลง Java เป็น Native Code
  • ยังต้องใช้ไฟล์ .jar
  • หาก Bundle JRE จะทำให้ขนาดโปรแกรมใหญ่ขึ้น (ประมาณ 40–100 MB ตาม JRE ที่ใช้)

สรุป

Launch4j เป็นเครื่องมือที่ช่วยสร้างไฟล์ .exe สำหรับโปรแกรม Java ได้อย่างสะดวก โดยไม่ต้องแก้ไขโค้ดของโปรแกรม รองรับการกำหนดไอคอน การตรวจสอบเวอร์ชัน Java และการ Bundle JRE ไปพร้อมกับโปรแกรม ทำให้ผู้ใช้งานปลายทางสามารถเปิดโปรแกรมได้ง่ายเหมือนโปรแกรม Windows ทั่วไป และหากต้องการรองรับเครื่องที่ไม่มี Java หรือเครื่องรุ่นเก่า เช่น Windows XP ก็สามารถใช้ JRE 8 แบบ 32 บิตร่วมกับ Launch4j ได้อย่างมีประสิทธิภาพ

,