Java, Eclipse, Maven & JSF tutorial [Tutorial 1]

        หัดเขียน JAVA ในแบบ Framework ที่เคยได้ยินมาพักใหญ่ โดยส่วนตัวการเรียนรู้ที่รวดเร็วที่สุดคือการ Learning by Doing การลองผิดลองถูกเนี่ยแหละทำให้เรียนรู้ได้เร็วที่สุดพอดีได้ Tutorial Series จาก lulu ซึ่งเป็น Series ที่เท่าที่ดูแล้วน่าจะทำให้เข้าใจเบื้องต้นการเขียนโปรแกรม JAVA แบบที่ต้องการจะเขียนเป็น

        เกริ่นนานเดียวน่าเบื่อเริ่มเลยดีกว่าครับ PDF File แรกที่ได้มามีอยู่ 3 ตัวอย่างครับ

  • Java, Maven and Eclipse
  • Java Web, Maven and Eclipse
  • JSF, Maven and Eclipse

       เอาเป็นว่า Blog ละ Toturial แล้วกันนะครับเพื่อใม่ให้เยอะเกินไปแล้วมีเวลาไปทบทวนเนื้อหาเพื่อทำความเข้าใจ

    Toturial แรกสอนเขาบอกว่าจะสอนเขียน Java application ด้วยการใช้ Tool ที่เขาบอกว่าได้รับความนิยม(เขาว่างั้นผมก็ว่างั้นครับผมหัวอ่อน) Eclipse และ Maven โดย Tutorial จะเหมาะกับผู้เริ่มหัดใช้งาน maven/eclipse/Java
     Step 0.1 Install Java ครับ Google เอานะครับ Install อย่างไงขอ Version 1.5 Up นะครับเลิกใช้ 1.4 มันเก่ามากแล้วเป็นสิบๆปีแล้ว Install ก็ Check ซะหน่อยว่า ENV ของเราเป็น Version อะไร 

Java --version
ถ้าได้ Java version มากกว่า 1.5 ตามข้างล่างก็ผ่าน Step นี้แล้วครับ
java version "1.5.0_11"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)
Java HotSpot(TM) Client VM (build 1.5.0_11-b03, mixed mode, sharing)
                  Step 0.2 Install maven จริงใน Web เขาก็สอนครับว่า Install อย่างไร ผมสรุปให้เบื้องต้นแล้วครับ Unzip file ที่ได้มาจาก Website ไว้ในที่ที่เราต้องการครับผมไว้ใน C:\Java ครับ Set M2_HOME ไปยัง Path ที่เรา Unzip file ไว้ครับ (เช่น C:\java\maven-2.0.7) แล้วก็เพิ่ม System ENV ซะหน่อย %M2_HOME%\bin เสร็จแล้วก็ลองทดสอบดูครับ  
mvn --version
น่าจะได้ผลประมาณนี้ครับ
Maven version: 2.0.7
Java version: 1.5.0_11
OS name: "windows xp" version: "5.1" arch: "x86"

สุดท้ายเนื่องจาก maven จะใช้งานโดยต่อกับ Internet ครับ ใครอยู่หลัง porxy ต้อง Config file conf/setting.xml ก่อนครับ

<proxy>
  <id>optional</id>
  <active>true</active>
  <protocol>http</protocol>
  <username>proxyuser</username>
  <password>proxypass</password>
  <host>webproxy</host>
  <port>8080</port>
  <nonProxyHosts>local.net,some.host.com</nonProxyHosts>
</proxy>

ใครยังไม่เข้าใจเข้าไปลองดูใน Spring66 มีรายละเอียดเยอะดี

          Step 0.3 ขั้นตอนที่ยากที่สุด download eclispe มาใช้งาน So far So good ครับใน Tutorial เขาแนะนำให้ Create Path สำหรับเก็บ Sources code ไว้ที่เดียวกันที่ C:\toturials ครับอันนี้แล้วแต่ใครสะดวกครับ

          Step 1 เริ่มสร้างโปรเจคกันจริงๆแล้วเปิด Command prompt ขึ้นมาแล้ว Change Directory เข้าไปยัง Folder ที่เราต้องการจะเก็บ Code ไว้ครับ จากกันก็เริ่มสร้าง Project แรกกันเลย

%CodePath%>mvn archetype:create -DgroupId=com.mytutorial -DartifactId=simple

     เป็นอันเสร็จแล้วครับการสร้าง Project ใหม่โดยที่เราจะได้ Directory หน้าตาประมาณนี้มา

%CodePath%\simple                project called “simple”
%CodePath%\simple\src          “src” folder under which you have “main” & “test” etc.
%CodePath%\simple\pom.xml   the basic maven Project Object Model file.

เปิด pom.xml ขึ้นมาครับ แล้วเพิ่มบรรทัดนี้เข้าไปครับเพื่อให้ compiler ที่ใช้งานเวลา Compile เป็น Java version 1.5 ครับ

<project ………….>
………………….
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>2.0.2</version>
          <configuration>
            <source>1.5</source>
            <target>1.5</target>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-eclipse-plugin</artifactId>
          <version>2.4</version>
          <configuration>
            <downloadSources>false</downloadSources>
            <wtpversion>1.5</wtpversion>
          </configuration>
        </plugin>
       </plugins>
    </pluginManagement>
  </build>
………………….
</project>

ต่อมา Set Eclipse ให้รู้จาก Local M2_Repo กันครับ โดยก่อนที่จะทำให้ทำการปิด Eclipse ก่อนครับ

C:\>mvn -Declipse.workspace=C:\java\workspace eclipse:addmaven-
repo

จากนั้นให้เปิด Eclipse ไปที่ Menu Window –> Preferences ดูตรง ClassPath Variables ว่าชี้ไปที่ Local Repository ของเราถูกต้องหรือปล่าครับ ของผมอยู่ที่ C:\java\.m2\repository (วิธี Config ดู Local Repository ใน Toturial ครับ)

ต่อมาเราจะเอา Project ที่เรา Create ไว้มา Develop บน Eclispe กันครับ โดยที่เราจะทำการ Generate .project, .classpath และ metadata ที่จำเป็นกัน ก่อนอื่น CD เข้าไปยัง Directory %CodePath%\simple กันก่อนครับจากนั้นก็

%CodePath%\simple>mvn eclipse:eclipse

จากนั้นเข้าไปใน eclipse แล้วก็ Import Existing Project into Workspace จากนั้นก็ทำการ Config Properties ของ Project ตามนี้ครับ

  • ที่ Java Build Path Tab “Order and Export” unchecked junit ออกเพราะเราไม่ได้ทำ unit test กันบน Server ครับ
  • ที่ Java Build Path Tab “Source” Set ตามรูปข้างล่างครับ

image

เป็นอันเสร็จสิ้นครับพร้อม Run Click ขวา Run Java Application กันได้เลย ได้ Hello World มาแล้วก็ถือว่าเราพร้อมทักทายชาวโลกกันแล้ว

แถมท้ายนิดหน่อยครับ เปิด Command Prompt ขึ้นมาจากนั้น Change Directory ไปยัง %SourcePath%\simple ครับ แล้วพิมพ์คำสั่งเพื่อทำการ pack code ของเราให้เป็น .jar ครับ

mvn clean package

ที่ target folder ของเราจะได้ simple-1.0-SNAPSHOT.jar มาลองทดสอบ Run program “Hello World” ของเรากันครับ

java -cp .\target\simple-1.0-SNAPSHOT.jar com.mytutorial.App

ถ้าได้ Hello World บน Command Prompt ก็ถือว่าผ่านแล้วครับเสร็จแล้วก็ Install ผลงานเราลง local repository กันซะหน่อยครับกันครับ

%SourcePath%\simple>mvn install

จากนั้นเมื่อเราเข้าไปดูที่ Local Repository ของเราจะพบว่ามี jar file ของเราอยู่ในนั้นครับ โดยจะลักษณะจะคล้ายการวาง Package ของ Java ครับ คือ %LocalRepository%\package\artifact\packageversion ของผมเป็นอย่างนี้ครับ

C:\java\.m2\repository\com\mytutorial\simple\1.0-SNAPSHOT\simple-1.0-SNAPSHOT.jar

เป็นอันจบ Tutorial อันแรกครับจะเห็นว่า Maven จะทำงานเป็น Command Line ซะส่วนใหญ่ครับ ดูเหมือนจะยุ่งยากครับเพราะว่าเราต้องมานั่งจำ Command Line ทั้งหมดเลยเหรอ แล้ว Command แต่ละ Command ก็ไม่ใช้สั้น Help ก็ไม่ขึ้น แต่จากที่ผมลองใช้งานดูปรากฏว่าผมเองขนาดเพิ่งเคยได้ยินชื่อ Maven เมื่อปลายปีที่แล้วด้วยซ้ำยังใช้งานได้ไม่ติดขัดอะไรเลย แรกอาจงงนิดหน่อยแต่พอผ่านช่วงแรกไปแล้วรับรองว่าจะชอบครับ (จริงๆมี plug-in maven กับ eclipse นะครับไว้วันหลังมาเล่าให้ฟัง)

เหนื่อยแหะแต่จะพยายามมาอัพให้บ่อยๆตามที่เวลาจะอำนวยแล้วกัน ผ่านมาผ่านไปรบกวนช่วยกันติดชมหน่อยนะครับ เพิ่งเริ่มหัดเขียน Blog ครับ

ความคิดเห็น

บทความที่ได้รับความนิยม