แก้ปัญหา Netbeans เมื่อใช้ ant command คัดลอก executable file บน mac หรือ linux แล้ว permission ไม่มาด้วย

ปกติเวลาเราเขียนโปรแกรมบน Netbeans บางครั้ง เมื่อเรา build โปรแกรมแล้ว เราต้องการให้ Netbeans  ทำการ copy ไฟล์ประกอบโปรแกรมของเราต่างๆ ไปยัง folder dist ด้วยโดยอัตโนมัติ ทุกครั้งที่  Clean and Build   เราสามารถทำได้โดยการไปปรับเพิ่มคำสั่งของ ant command ใน project ของเรา

วิธีสั่งให้ ant command ทำการ copy ไฟล์ประกอบโปรแกรมอื่นๆไปยัง folder dist ทำได้โดย

  1. ที่โปรแกรม Netbeans คลิกที่ tab Files (ที่อยู่หลัง tab Projects น่ะครับ)
  2. เลื่อนลงมาหาไฟล์ชื่อว่า build.xml แล้วคลิกที่ไฟล์นั้น
  3. พอคลิกแล้ว ด้านล่างหน้าต่างนั้นจะมี หน้าต่างชื่อว่า Navigator อยู่ (ถ้าไม่มี ให้ไปที่เมนูด้านบน เลือก Windows แล้วเลือก Navigator) ในหน้าต่างนี้ มันจะมี list ของ ant targets แสดงขึ้นมา
  4. หา target ที่ชื่อว่า -post-jar แล้วดับเบิ้ลคลิก
    ant
  5. Netbeans จะเปิดไฟล์ target ตัวนี้ขึ้น ซึ่ง target ตัวนี้จะทำเมื่อ compile และ pack โปรแกรมเป็น .jar เสร็จแล้ว เมื่อมัน pack เสร็จ

เราก็จะปรับเพิ่มให้ มัน copy ไฟล์ไปยัง folder dist ด้วย ant command คือ

ในบรรทัดที่ 2-4 คือสั่งให้ copy ทุกๆไฟล์ใน folder resources ไปยัง folder dist/resources นั่นเอง

ต่อมา ในกรณีที่เขียนโปรแกรมบน mac หรือ linux ถ้าเราสั่งคำสั่งข้างต้นแล้ว มันก็จะ copy ไฟล์ไปยังปลายทางที่เรากำหนด แต่ถ้าไฟล์ที่ copy นั้นเป็น executable file หรือ ไฟล์ที่รันได้ หลังจาก copy แล้วมันจะ run ไม่ได้ เพราะว่า permission ของไฟล์มันไม่มาด้วย ดังนั้น เราต้องสั่งเพิ่มเติมให้ด้วยว่า ให้เปลี่ยน mode ของไฟล์นั้นๆ ให้ execute ได้ด้วย

คำสั่งในการเปลี่ยน mode ไฟล์ก็เขียนต่อจากการ copy ได้เลยดังนี้

เท่านี้ก็เรียบร้อย ไฟล์ที่ copy มาก็จะ execute ได้เหมือนเดิม

ant in build.xml


ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *


Back to Top