เมื่อวานนี้ เพื่อนผมเมลมาขอร้องให้เขียนโปรแกรมเล็กน้อยๆ เพื่อช่วยงานเค้าหนะครับ
ด้วยความที่ผมเขียนโปรแกรมเป็นแค่งานอดิเรก ภาษาที่คล่อง (และมีเครื่องมือ) ก็มีแค่ java เอง
โปรแกรมโค๊ดไม่มากนัก เลยเขียนมันใน main class เดียวเลย (ผิดคอนเซปท์ OOP อย่างแรง)
ยังไม่ได้ศึกษาวิธีเขียนแบบ GUI เลยเขียนให้โปรแกรมรับคำสั่งแบบ command line ครับ
ตอนนี้โปรแกรมเสร็จสมบูรณ์แล้ว สมมติว่าชื่อไฟล์คือ Merge.class มีไฟล์เดียวครับ
แต่ว่าปัญหาคือเพื่อนผมไม่ค่อยเก่งคอมซักเท่าไหร่ แถมมีคนอื่นที่ต้องได้ใช้โปรแกรมนี้อีก
ทำให้ผมคิดว่า การมานั่งสอนวิธีใช้ cmd จนเจอไฟล์แล้วพิมพ์ java Merge กับคนเยอะๆ คงไม่เวิร์กแน่
ผมอยากบอกเพื่อนแค่ว่า เอาโปรแกรมนี้ไปวางใน folder ที่มีไฟล์ข้อมูลอยู่ (backup ข้อมูลด้วย)
double click ที่โปรแกรม (แม้ว่าโปรแกรมจะดำๆ สั่งงานตามบรรทัด ก็เถอะ) แล้วก็ใช้งานได้เลยครับ
ทำอย่างไรได้บ้างครับ?
ถ้าใช้ Netbean จะทำเป็น .jar ได้ ซึ่ง .jar บางเครื่องสามารถดับเบิ้ลคลิกแล้วเปิดได้เลยครับ(ถ้าลง JRE ไว้)
.jar นี้ผมลองทำดูแล้ว มัน double click บนเครื่องผมไม่ได้แฮะ
เพราะผมลง Nokia PC Suite ไว้อยู่ครับ T^T
งงเลย
ใช่ครับผมเซงมาก ลงเอยด้วยการลง Java ทับลงไปใหม่แทน
คิดว่าต้องทำเป็น .jar ก่อนนะครับ แล้วถึงจะทำเป็น .exe ได้ ส่วนเวปนี้เป็นเครื่องมือทำ .jar เป็น .exe ลองดูแล้วกันครับ http://viralpatel.net/blogs/2009/02/convert-jar-to-exe-executable-jar-file-to-exe-converting.html ไม่เคยลองสักตัวเพราะเขียน .NET ;)
ทำเป็นไฟล์สำหรับรัน DOS ขึ้นมา พวก .BAT อะไรพวกนี้...
ง่ายๆเลย สร้างไฟล์เท็กซ์ขึ้นมา แล้วก็เอา java Merge ใส่ไว้ในเท็กซ์ แล้วก็เซฟไฟลเทกซ์เป็น .BAT แทน .TXT จากนั้นก็เอาเจ้าไฟล์แบทนี้ไปไว้คู่กับไฟล์Merge.class แบบไปใหนไปด้วย เวลาจะรันโปรแกรม ก็กดที่เจ้าไฟล์แบทแทน เดียวมันไปเรียกกันเองได้
ปล.วิธีนี้จะใช้กับเครื่องที่ลง Java runtimeไว้เท่านั้น อันนี้ไม่แน่ใจว่าแค่ java runtime เฉยๆหรือ ต้องเป็น JDK ด้วย เอาเป็นว่าถ้าเครื่องใหนรันไฟล์ .classนั้นผ่านdosได้ก็ใช้วิธีนี้ได้ ถึงอย่างไงสู้ทำเป็นEXE ไม่ได้แน่นอน ลำบากคนทำนิดหน่อย แต่คนใช้ง่าย
แจ่มมากครับ ^^ ขอบคุณครับ
ปล.แล้วทำเป็น exe ทำยังไง (โดยไม่ใช้ 3rd party) ครับ
เพราะลองไปโหลดโปรแกรมแปลง .jar -> .exe แล้ว ยังไม่ค่อยประทับใจเท่าไหร่ครับ
ผมขอแนะนำ วิธีของ คุณ gab จะดีกว่าครับ อันนี้เหนือชั้นมากเพราะใส่ runtimeไว้เลย ถึงจะรวมตัว jre เข้าไปแล้วใหญ่ แต่นั้นเท่ากับว่าเราสามารถรันโปรแกรมได้เลย โดยไม่ต้องหา java runtime มาติดตั้งอีก แต่ถ้าต้องรันหลายๆ โปรแกรมจาวาในเครื่องเดียวกัน เอาเป็นว่าติดตั้ง java runtime ไว้เลยดีกว่า
ในเมื่อเรียกมันด้วย cmd ได้อยู่แล้ว ก็เขียนลง batch file แล้วเรียกเอาก็ได้นะ
จะเล่าในแบบที่ผมเคยทำ ผมตั้งใจให้มันทำงานในเครื่องอื่นได้โดยแค่ก็อปลง และไม่ต้องติดตั้ง jre (..ขี้เกียจสอนติดตั้ง) ผู้รู้อาจจะแอบฮาในวิธีผม ก็ทำประมานนี้
-- ผมโค้ด Myclass และคอมไพล์มันไว้ใน folder test
-- ใน folder test ผมทำการคัดลอก jre6\bin\ จาก java runtime ที่ติดตั้งในเครื่องผมมาไว้ในนี้ด้วยกัน
-- สร้าง batch file run.bat โดยใส่คำสั่งไปสองบันทัด
jre6\bin\java Myclass
pause
--ตอนใช้ก็ก็อปลงเครื่องอื่น แล้วดับเบิลคลิกที่ run.bat โลด ก็ใช้ได้ละ
..แต่ สุดท้ายแล้วมันจะใหญ่เอาการจากการรวม jre ลงไป(20 กว่าเมก) แต่ถ้าเครื่องนั้นติดตั้ง java runtime ไปแล้วก็เปลี่ยนคำสั่งใน run.bat เป็น java Myclass
+1