หน้าเว็บ

วันอังคารที่ 13 พฤศจิกายน พ.ศ. 2555

Compile Java แบบกำหนด Directory

วันนี้หยิบงานเก่า ๆ ที่เขียนด้วย Java ออกมา Compile ใหม่ เนื่องจากมีการแก้ไข Code เล็กน้อย
ด้วยความที่ไม่ได้ใช้นาน ซึ่งแต่ก่อนเวลาจะ Compile Java ทีต้องเปิด Command จากนั้นจึงสั่ง Compile
เดี๋ยวนี้ IDE มันทำให้หมดแถมสร้างโฟลเดอร์ตาม Package ให้เสร็จสรรพ

เลยนึกขึ้นได้เลยเขียนไว้หน่อยก็ได้

ขอยกตัวอย่าง Code อย่างง่าย ๆ เพื่อให้เข้าใจในการทำงานของ Java Compiler

Student.java

package student.register
public class Student {
    public void showName()
    {
          System.out.println("Show Name");
    }
}

ปกติเรา Compile Java ก็พิมพ์คำสั่งไปยัง Directory ที่ต้องการเช่น D:
จากนั้นก็สั่ง Compile ปกติ เช่น

> Java Student.java

ถ้าเรามีการใช้ Package การสั่ง Compile ข้างต้น จะไม่มีการสร้าง Directory ลงไป
เช่นถ้าไฟล์ java เราเก็บอยู่ที่ Project/src/ เมื่อสั่ง Compile เราจะได้ไฟล์ .class อยู่ใน Project/src/ ด้วย

ดังนั้นหากเราต้องการให้มีการสร้าง Directory ตาม Package หลังจาก Compile เราสามารถเขียนได้เป็น

> Java -d . Student.java

เราจะได้ไฟล์ Student.class เก็บอยู่ใน Project/src/student/register/

-d นั้นเป็นออปชั่นของ Java compiler (javac.exe) ใช้ระบุเพื่อบอกคอมไฟเลอร์ว่าเมื่อคอมไฟล์ได้ไฟล์ .class ออกมาแล้ว ให้นำไฟล์ .class ไปเก็บไว้ที่ Directory ใด

ส่วนเครื่องหมาย . ที่อยู่หลัง -d หมายถึง Directory ปัจจุบัน

ทีนี้เรียวสร้างโฟลเดอร์ bin ไว้หนึ่งโฟลเดอร์ไว้สำหรับเก็บไฟล์ .class ที่ได้จาก Compile โดยเฉพาะค่ะ

ดังนั้นเวลาจะ Compile ให้มันไปเก็บไว้ที่ Project/bin/ เราสามารถเขียนได้ดังนี้

> Java -d ../bin Student.Java

ทีนี้ถ้าในโฟลเดอร์ Project/src/ มีไฟล์ .java จำนวนมาก จะให้มานั่ง Compile ทีละไฟล์ก็คงไม่ไหว
เราสามารถสั่งได้ดังนี้ค่ะ

> Java -d ../bin *.java    // ไฟล์ทุกไฟล์ที่อยู่ใน Project/src/ จะถูก Compile ทั้งหมด

บ๊ายบายจ๊ะ แล้วเจอกันบทความหน้า

ไม่มีความคิดเห็น:

แสดงความคิดเห็น