go to http://oracle.in.th
Showing posts with label jdk. Show all posts
Showing posts with label jdk. Show all posts

Tuesday, March 30, 2010

Jar File...รวม library ทั้งหลาย ให้เป็น file เดียว

บทความคราวนี้ ผมได้พบมาจากประสบการณ์ในการทำงานของผมเลย ก็เลยคิดว่า น่าจะเอามาบอกต่อหน่อย เผื่อจะได้เป็นประโยชน์ให้แก่คนที่พบคำถามแบบนี้จากผมนะครับ...

สาเหตุของปัญหานี้ก็คือ พอดีมีลูกค้ามาถามผมว่า "ปกติเวลาเราเขียน application ของ java ส่วนใหญ่มักจะประกอบไปด้วย library (jar) หลายๆตัว เมื่อเราเขียน application เสร็จแล้วถ้าเราจะเอา application ตัวนี้ไปใช้ก็ต้องยกโขยง library ต่าง ๆ ของเราไปด้วย ไม่งั้นจะทำงานไม่ได้"
จึงเกิดคำถามที่ว่า...จะทำอย่างไรที่จะรวม library ต่าง ๆ เหล่านี้เป็น jar ตัวเดียว??


ซึ่งจริง ๆ แล้ว การที่เราต้องยกโขยง library ต่าง ๆ ของ application ไปทั้งหมด มันเป็นสิ่งที่ไม่สะดวกเลยจริง ๆ ดังนั้น จึงมีวิธีการที่เรียกว่า Jar File หรือ Java ARchive ซึ่งเป็นการรวมหลาย ๆ ไฟล์เป็นเป็นไฟล์เพียงตัวเดียว ซึ่ง Developer มักจะใช้การสร้าง .jar ไฟล์นี้ในการทำ Java applications หรือ libraries ซึ่งจะมีทั้งข้อมูล classes, metadata และข้อมูลที่เป็น text, images, และอื่น ๆ อีกมากมาย

ซึ่งตัว JAR file นี้ จะถูกสร้างออกมาในรูปแบบของ ZIP file เมื่อต้องการจะแตก (extract) JAR file ได้โดยพิมพ์คำสั่ง jar command ที่มากับ JDK นั่นเอง

เรามาดูวิธีการทำ Jar File กันเลยดีกว่า
Step 1:
ให้สร้าง xml file โดยตั้งชื่อเป็น "build.xml" แล้วใส่คำสั่งตามข้างล่างนี้

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="create_jar" name="Create Jar for Project TodoListTool">
  <!--this file was created by Eclipse Runnable JAR Export Wizard-->
  <!--ANT 1.7 is required                                        -->
  <target name="create_jar">
<jar destfile="C:/Documents and Settings/com11/Desktop/de.allianz.vpl.VPLTransformer.jar"
         filesetmanifest="mergewithoutmain">
<manifest>
        <!--<attribute name="Main-Class" value="systemtool.guiApplication.GuiApplication" />-->
        <attribute name="Class-Path" value="." />
      </manifest>
     
      <fileset dir="D:/java/jFrame_WorkSpace/de.allianz.vpl.VPLTransformer/bin" />

      <zipfileset excludes="META-INF/*.SF"                                                                    
                 
src="D:/java/jFrame_WorkSpace/de.allianz.vpl.VPLTransformer/lib/jdom.jar" />
      <zipfileset excludes="META-INF/*.SF"
                 
src="D:/java/jFrame_WorkSpace/de.allianz.vpl.VPLTransformer/lib/de.allianz.jFrame.jni.jar" />
      <zipfileset excludes="META-INF/*.SF"
                 
src="D:/java/jFrame_WorkSpace/de.allianz.vpl.VPLTransformer/lib/utility.jar" />
      <zipfileset excludes="META-INF/*.SF"
           
src="D:/java/jFrame_WorkSpace/de.allianz.vpl.VPLTransformer/lib/org.eclipse.swt_3.5.0.v3550b.jar" />
      <zipfileset excludes="META-INF/*.SF"           
     
src="D:/java/jFrame_WorkSpace/de.allianz.vpl.VPLTransformer/lib/org.eclipse.swt.win32.win32.x86_3.5.0.v3550b.jar" />
    </jar>
  </target>
</project>

ผมขออธิบายคำสั่งที่สำคัญ 4 ส่วน ก่อนนะครับ

<jar destfile="C:/Documents and Settings/com11/Desktop/de.allianz.vpl.VPLTransformer.jar"
         filesetmanifest="mergewithoutmain">
destfile: it is destination result of jar file.

<fileset dir="D:/java/jFrame_WorkSpace/de.allianz.vpl.VPLTransformer/bin" />
dir: it is result path of build java class (*.class). In Eclipse \bin.


<zipfileset excludes="META-INF/*.SF"                                                                    
            
src="D:/java/jFrame_WorkSpace/de.allianz.vpl.VPLTransformer/lib/jdom.jar" />
src: it is path of reference jar file.

และ


<!--<attribute name="Main-Class" value="systemtool.guiApplication.GuiApplication" />-->
จริง ๆ แล้วคำสั่งนี้ใช้สำหรับสร้าง execute jar file ถ้าต้องการสร้าง ให้เอาคำสั่ง Comment ออก แล้วใช้คำสั่งนี้แทน (ซึ่งตามตัวอย่าง ไม่ต้องการสร้าง เลยทำเป็น Comment ไว้)
value: This value is main class.

Step 2:
ให้ Copy "build.xml" ที่เรา้เพิ่งสร้างเมื่อกี้ นำไปไว้ที่ root directory ของโปรเจค (ตามรูป)


Step 3:

คลิกขวาที่ "build.xml" เลือก Run As > Ant Build


เท่านี้ก็เรียบร้อยครับ ^^

Credit by @plaumkamon
ข้อเขียนนี้ช่วยฉัน:  

Friday, November 6, 2009

การติดตั้ง Google App Engine และ Google Plugin สำหรับ Eclipse

1. เริ่มต้นด้วยการดาวน์โหลด "Java SE Development Kit (JDK)" และติดตั้งลงในเครื่อง โดย Google App Engine จะรองรับกับ Java 5 และ Java 6 เท่านั้น

2. จากนั้นให้ทำการดาวน์โหลดโปรแกรม Eclipse จาก "http://www.eclipse.org/" และติดตั้งลงในเครื่อง

3. ดาวน์โหลด Google Plugin for Eclipse โดยจะมี Plugin สำหรับ Eclipse อยู่ 3 เวอร์ชั่น คือ 3.3, 3.4 และ 3.5 โดยสามารถดาวน์โหลด Plugin สำหรับเวอร์ชั่นต่างๆ จากลิงค์ด้วยล่าง

- The Google Plugin for Eclipse, for Eclipse 3.3 (Europa):

http://dl.google.com/eclipse/plugin/3.3

- The Google Plugin for Eclipse, for Eclipse 3.4 (Ganymade):

http://dl.google.com/eclipse/plugin/3.4

- The Google Plugin for Eclipse, for Eclipse 3.5 (Galileo):

http://dl.google.com/eclipse/plugin/3.5

4. ทำการติดตั้ง App Engine Java SDK โดยใช้ โปรแกรม Eclipse โดยไปที่ เมนู Help > Install New Software
Step 4 - Install

5. ในช่อง Work with ให้ใส่ location สำหรับเวอร์ชั่น 3.5 ให้ใส่ “http://dl.google.com/eclipse/plugin/3.5” ดังรูป

Step 5 - Add location

6. จากนั้นให้ Enable Check Box ที่ Plugin และ SDKs จากนั้น Click Next รอจนโปรแกรมทำการดาวน์โหลดและติดตั้งจนเสร็จแล้ว Click Finish

Step 6 - Enable Plugin Check Box

อ้างอิง
ข้อเขียนนี้ช่วยฉัน: