การสราง Java library (JAR File) โดยใชภาษา Groovy และ เรียกใชงานดวยโปรแกรมที่เขียนขึ้นดวยภาษา Java เบื้องตน โดย Khomkrit Sriwichai - June 2008 ขั้นตอนหลักๆก็คือเมื่อสราง groovy ไฟลเสร็จแลวให compile ดวย groovyc จากนั้นจะได class ไฟลออกมา เราก็ทำการ pack เปน jar file ปกติ แตวาเมื่อเราจะ compile โปรแกรมที่เขียนดวย ภาษา Java นอกจากเราจะตองกำหนด classpath ใหชี้ไปยัง library ที่โปรแกรมตองใชทั้งหมดแลว เราตองกำหนด classpath ใหชี้ไปที่ $GROOVY_HOME/embeddable/groovy-all-.jar ดวย ดังตัวอยางตอไปนี้ - กำหนดใหตอนนี้เราอยู directory นี้ $HOME/groovytojava - และใช Groovy version 1.5.4 1. สรางไฟลชื่อ customer.groovy ดังนี้ 1 2 3 4 5 6 7 8 9 10 11 12 13 14
package customer public class Customer{ String name String phone def greeting(){ println "Hello ${name}, phone = ${phone}" }//end greeting() def swingGreeting(){ javax.swing.JOptionPane.showMessageDialog null, "Hello ${name}" }//end swingGreeting() }//end Customer
จากนั้นทดสอบการทำงานเบื้องตน โดยการเขียน code แบบนี้ตอจาก class customer 16 Customer customer = new Customer(name: "Steve", phone: "999-9999") 17 customer.greeting()
ทดสอบโดยการใชคำสั่ง $groovy
customer.groovy
Hello Steve, phone = 999-9999
จะไดผลลัพธดังนี้
การทำงานเบื้องตนถือวาใชได จากนั้นลบ บรรทัดที่ 16, 17 ที่เราใชทดสอบออกไป 2. สราง folder ชื่อ groovyclasses จากนั้น compile ไฟล customer.groovy ดวยคำสั่ง R
$groovyc customer.groovy -d groovyclasses
เราจะไดไฟลชื่อ Customer.class ที่อยูในโฟลเดอรชื่อ customer ซึ่งอยูในโฟลเดอรชื่อ groovyclasses อีกที 3. อยูที่ $HOME/groovytojava จากนั้น pack ไฟลที่ไดจากการ compile ใหกลายเปน .jar โดยสั่ง ดังนี้ R $jar -cvf customer.jar -C groovyclasses/ . จากนั้นเราจะไดไฟลชื่อ customer.jar ออกมา 4. สรางไฟลชื่อ Main.java และเก็บไวที่ $HOME/groovytojava เพื่อทดสอบการทำงานรวมกันของ class ที่เขียนดวยภาษา Groovy ซึ่งไดถูก compile ไปแลวในขั้นตอนที่ 2 1 2 3 4 5 6 7 8 9 10 11 12
import customer.Customer; public class Main{ public static void main(String argv[]){ Customer customer = new Customer(); customer.setName("Davy Jones"); customer.setPhone("123-4567"); customer.greeting(); customer.swingGreeting(); }//end main() }//end Main
5. compile ไฟลชื่อ Main.java แตกอนที่จะ compile ใหกำหนด classpath ใหชี้ไปที่ R
$GROOVY_HOME/embeddable/groovy-all-1.5.4.jar
R และชี้ไปที่ไฟล customer.jar ที่เราไดจากขั้นตอนที่ 3 ดวย เมื่อกำหนด classpath เสร็จแลวก็ทำการ compile ไฟลชื่อ Main.java ดังนี้ R $javac Main.java 6. เราจะไดไฟลชื่อ Main.class ออกมาเปนผลลัพธ จากนั้นทดสอบการทำงานโดยสั่ง
$java Main
จะไดผลลัพธดังนี้ Hello Davy Jones, phone = 123-4567