Maven — ตอนที่ 1 เริ่มโปรเจค Java ด้วย Maven

เวลาเราจะตั้งต้น Java โปรเจคด้วย Maven มีได้หลายทาง แต่ก่อนผมใช้ m2e plug-in ของ Eclipse เพราะเห็นว่ามันสะดวกดี แต่…สุดท้ายก็ดวงตาเห็นธรรมว่าเราควรจะรู้แบบ command line ก่อนน่าจะดีกว่า รวมทังเคยเจอปัญหา maven plug-in บ้างตัว m2e ไม่ support ซะอีก

ว่าแล้วเราก็มาเริ่มเลยดีกว่า ก่อนอื่นก็เปิดเว็บของ @mkyong ก่อนเลย #เว็บนี้เขาดีจริงๆของบอก จัด Java Application มาก่อนเลยครับ

การขึ้น Java Project ด้วย Maven

command:

mvn archetype:generate -DgroupId={project-packaging} -DartifactId={project-name} -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

eaxmple:

mvn archetype:generate -DgroupId=com.tumit -DartifactId=bmi-api -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

  • mvn — Maven bat command

  • archetype:generate — ใช้การ generate project ขึ้นมาจาก template

  • -DgroupId={project-packaging} — ชื่อ package ที่เป็น root เช่น com.tumit

  • -DartifactId={project-name} — ชื่อ project จริงๆ เช่น bmi-api

  • -DarchetypeArtifactId — maven-archetype-quickstart — template ที่จะเอามาใช้ตั้งต้นชื่อ maven-archetype-quickstart

  • -DinteractiveMode=false — ไม่ต้องให้ prompt ถามรายละเอียด ให้ใช้ default ไป

จากนั้นก็หา Folder โล่งๆซักทีนึงที่ไว้เก็บ code แล้ว launch command ตาม example เลย

mvn archetype:generate -DgroupId=com.tumit -DartifactId=bmi-api -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

จากนั้นก็จะได้ Java โปรเจคที่สร้างมาจาก Maven แล้ว จากนั้นก็เข้าไปที่ bmi-api folder ก็ลองเลยคำสั่งแรก mvn test

bmi-api>mvn test

ถ้าโอเคมันจะขึ้นประมาณนี้

[INFO] ————————————————————————
[INFO] BUILD SUCCESS
[INFO] ————————————————————————
[INFO] Total time: 1:05.129s
[INFO] Finished at: Fri Aug 23 16:05:10 ICT 2013
[INFO] Final Memory: 11M/28M
[INFO] ————————————————————————

โอเค แล้วถ้าเป็นโปรเจค Web ละ?

ก็เหมือนเดิมแค่เปลี่ยนarchetypeArtifactId เป็นmaven-archetype-webapp เท่านั้นเอง

command:

mvn archetype:generate -DgroupId={project-packaging} -DartifactId={project-name} -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

eaxmple:

mvn archetype:generate -DgroupId=com.tumit -DartifactId=bmi-web -DarchetypeArtifactId=maven-archetype-webapp-DinteractiveMode=false


References:

How to create a Java project with Maven— @mkyong

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s