ตอนนี้ Project สำหรับ Train วันเสาร์เรียบ้อยไปส่วนหนึ่งแล้วแต่มีสิ่งที่น่าเป็นห่วงอยู่เล็กน้อย คือเนื่องจากวันนั้นเพื่อไม่ให้เป็นการเสียเวลาเรื่องการ download ไลบรารี่จึงอยากให้ทุกท่านที่จะไปร่วมงานช่วยทำตามคำแนะนำนี้ด้วยครับ
- option ลง Netbeans 6.7 M2 พร้อมทั้งติดตั้ง Maven Plugin ให้เรียบร้อยซึ่งง่ายมาก
- ลง MySQL5.x ที่เครื่อง
- สร้าง Database ชื่อ spring66
- สร้าง working directory ที่ d:\workspace\spring66-training จากนั้นทำการ export source ออกมาจาก google code ที่ url นี้ (ใช้ account google ครับแต่ password ใช้ของ google project นะครับอยู่ใน profile/setting)
https://spring66-training.googlecode.com/svn/trunk
จากนั้นยังไม่ต้องทำอะไรมากครับเข้าไปที่ root ของโปรเจค (ที่มีไฟล์ pom.xml) เรียก mvn compile ครับ
ใครทำแล้วไม่ขึ้น BUILD SUCCESSFUL ช่วย comment หรือ tweet ด้วยครับ
**** มีบางส่วนต้องทำมือครับเช่น jta1.0.1B เราต้องไป download ไฟล์ที่นี่ก่อนครับ
http://java.sun.com/javaee/technologies/jta/index.jsp
แต่ไฟล์ท่ได้มาจะเป็น zip ไฟล์และชื่อไม่ตรงตามที่เราต้องการ ทางออกให้แก้ชื่อเป็น jta-1.0.1B.jar ครับ
จากนั้นให้วางไฟล์ .jar ที่ได้มาตามตำแหน่งที่ต้องการ เช่น ที่ root ของโปรเจค(ของผม D:\workspace\spring66-training) จากนั้นสั่งให้ maven ทำการ add ไฟล์นี้เข้าไปใน repository ด้วยคำสั่ง
mvn install:install-file -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar -Dfile=D:\workspace\spring66-training\jta-1.0.1B.jar

D:\wordspace\ => D:\workspace\
เอ่อ! username กับ password คืออะไรครับ
@him_aeng อ่านตัวแดงๆอ่ะครับที่ content
คือ ไม่เข้าใจตรงที่พี่บอกว่า
“แต่ password ใช้ของ google project นะครับอยู่ใน profile/setting)”
อ่ะครับ ไม่รู้ว่า password คืออะไร รบกวนด้วยครับ
นี่ผมก็เลยต้องทำการ svn จาก http://spring66-training.googlecode.com/svn/trunk
คือ ใช้แบบ anonymously check out ไปเลย
ว่าแต่ ระหว่าง url ที่พี่แนะนำมา (https://...) กับแบบ anonymousely check out นั้น ผลที่ได้มันต่างกันมั๊ยครับ
password ดูได้ตรง profile >> setting ครับ ซึ่งเมนู profile จะเห็นได้ต้อง login เข้าไปที่ googlecode ก่อน http://code.google.com/hosting/ เป็นต้น
ขอบคุณมากครับ ทำได้แล้ว แบบว่าไม่เคยใช้บริการ googlecode อ่ะครับ อิอิ
compile ผ่านแล้ว
แต่ติดใจอยู่อย่าง ทำไม Maven ไม่ออกแบบมาให้ทำงานแบบ Offline ได้นะ แบบนี้จะ compile ทีก็ต้องต่อ internet ที หยั่งงี้ไปเรื่อยๆ ก็ไม่ work นา
อืมแต่คิดอีกมุมหนึ่ง มันก็สะดวกดีจริงๆ นั่นแหละ แค่กำหนดใน pom.xml แล้วที่เหลือ Maven ก็จะจัดการ Download ให้หมด สะดวกดีจริงๆ
@him_aeng คือว่า library บางตัวก็ไม่สามารถหาได้บน repository น่ะครับ JTA เป้นตัวอย่างที่ดีครับ แต่อย่างไรก็ตาม ยกตัวอย่างเช่น compile แล้ว maven จะทำการ load สิ่งที่เราต้องการมาไว้ที่เครื่องครับ ครั้งต่อๆไปที่เราใช้ก็ไม่จำเป็นต้อง Load อีก
ยกเว้นเราต้องการใช้ Library ใหม่กว่าที่เรามีครับ
ถ้าอย่างนั้นเวลาที่เราอยากจะให้ Maven รู้จักกับ library ตัวไหนที่ไม่มีใน repository แล้ว ก็ต้องทำตามวิธีการ install เหมือนกับที่ทำกับ JTA ใช่มั๊ยครับ
อืมม ก็ง่ายดีนะครับ
เดี๋ยวไปอบรมกับอาจารย์เสร็จจะได้ลองเอาไปใช้จริงกับ Flex + Spring + BlazeDS ได้
อ๋อ ทำแบบนี้ ได้ด้วยเหรอเนี่ย เพิ่งรู้วิธี add file ใน repository .. ขอบคุณคับ
แต่รู้สึกว่าเรื่องปัญหา jta-1.0.1B.jar จะมี องค์กร ใจดี จัดไว้ให้แล้ว นั่นก็คือ “Java Dev repository” .. จะมี ไฟล์ jta-1.0.1B.jar ใน http://download.java.net/maven/2/javax/transaction/jta/1.0.1B/ คับ ลองดู ๆ ๆ
<project ... >
.
.
.
.
.
.
.
.
<repositories>
<repository>
<id>maven-repository.dev.java.net</id>
<name>Java Dev Net Repository</name>
<url>http://download.java.net/maven/2/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</project>
@enjoy127 ขอบคุณครับเป็นประโยชน์มากๆครับ ไอ้ผมก็ rename มาหลายปี
แจ่มมากเลยครับคุณ enjoy127
ใช้ Google Code ครั้งแรกเหมือนกันครับ
ใครหา password ไม่เจอไป url นี้เลยครับ http://code.google.com/hosting/settings
ของผมตอนแรกไม่ได้ (ใช้ TortoiseSVN) ต้องกด regenerate password แล้วรอสักพักถึงได้
สรุปช่วงท้ายของไฟล์ pom.xml ให้แก้ตามที่คุณ enjoy127 บอกมาก็จะได้แบบนี้ครับ
ป.ล. กำลังสงสัยว่า repository ของ maven แบบของ java.net นี่เราสร้างเองเป็น local ได้ยังไงบ้าง เพราะถ้า developer หลายๆคนทำงานใน office เดียวกันแต่ต้อง download lib ใหม่ตอนเริ่ม project จาก internet แบบนี้ เปลือง bandwidth นะเนี่ย หรือถ้ามี lib ส่วนตัว จะได้ไม่ต้อง manual add ทุกคน
@เอี้ยก้วย ทำได้ครับเดี๋ยวมีคนตอบวันจริงครับ
ผมว่ารูปนี้ตอบได้บ้างนะครับ
แล้วตกลงกำหนดการณ์ ในวันพรุ่งนี้เป็นไงบ้างครับ แบบว่าห้องไหน เวลาเท่าไหร่ถึงเท่าไหร่อ่ะครับ?
รบกวนถามด้วยครับ