Maven 基本概念:

Maven 是類似 ANT 的 Java 佈署工具,MavenANT 方便的地方是,Maven 會自動去下載專案中必要的 jar 檔。Maven 的 Archetype 主要是會先配置好相關不同專案類型的開發環境,有點類似 template 。

首先到官方網址下載 apache-maven-3.1.1-bin.zip 檔案,並解壓於 C:\AppServ\apache-maven-3.1.1 ( M2_HOME )目錄下。因為我的 Java JDK 是 1.6.0_07 版本,並且放在 D:\Progs\jdk1.6.0_07 目錄下。所以要修改 C:\AppServ\apache-maven-3.1.1\bin\mvn.bat ,增加 JAVA_HOME 的設定如下:

@REM ----------------------------------------------------------------------------
@REM Maven2 Start Up Batch script
@REM
@REM Required ENV vars:
@REM JAVA_HOME - location of a JDK home dir
@REM
@REM Optional ENV vars
@REM M2_HOME - location of maven2's installed home dir
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
@REM     e.g. to debug Maven itself, use
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
@REM ----------------------------------------------------------------------------

set JAVA_HOME="D:\Progs\jdk1.6.0_07"

 

剛提到 Maven 會自動下載專案相關的套件 JAR 檔,Windows 環境中,這就是所謂的 repository 指的是 Maven 存放套件資源的地方.若我們本機(local)電腦中沒有這些套件,Maven會自動從預設的網路位置 下載放到我們本機的repository 中,之後所有Maven專案需要用到的套件,Maven 都會先找本機的 repository,找不到再到網路上去 找;預設存放的目錄是在 ${user.home}/.m2/repository ,若要變更則是修改 %M2_HOME%\conf\settings.xml 檔案中的 <localRepository>...</localRepository>,如:<localRepository>D:/Progs/.m2/repository</localRepository>

確認一下 安裝可以正常執行

C:\AppServ\apache-maven-3.1.1\bin>mvn -ver

C:\AppServ\apache-maven-3.1.1\bin>set JAVA_HOME="D:\Progs\jdk1.6.0_07"

Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 23:22:2
2+0800)
Maven home: C:\AppServ\apache-maven-3.1.1\bin\..
Java version: 1.6.0_07, vendor: Sun Microsystems Inc.
Java home: D:\Progs\jdk1.6.0_07\jre
Default locale: zh_TW, platform encoding: MS950
OS name: "windows vista", version: "6.2", arch: "x86", family: "windows"

 

eclipse 專案實作:

Step 01:設定 Maven 在 eclipse 的環境

 maven_eclipse_preference.png  

也是可以利用 Eclipse Markplace 中去下載,與 eclipse 整合;若是整合 (Embedded) 在一起的話,那 eclipse 在 New 一個專案時,就可以看到 Maven 的選項

Maven_Project  

Step 02:建立一個 Archetype:maven-archetype-quickstart 的專案

把專案程式放在 D:\my_workspace\myMaven 目錄下

myMaven_place

 

選擇 Maven Project 預設的 Archetype:maven-archetype-quickstart

maven-archetype-quickstart

  預設將 java 的程式放在 package: com.demo 下

 myMaven_package  

整個結構就會像下圖:

myMaven_Structure  

 

手動執行看看

D:\my_workspace\myMaven>mvn exec:java -Dexec.mainClass=com.demo.App

D:\gu_workspace\myMaven\myMaven>set JAVA_HOME="D:\Progs\jdk1.6.0_07"

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building myMaven 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> exec-maven-plugin:1.2.1:java (default-cli) @ myMaven >>>
[INFO]
[INFO] <<< exec-maven-plugin:1.2.1:java (default-cli) @ myMaven <<<
[INFO]
[INFO] --- exec-maven-plugin:1.2.1:java (default-cli) @ myMaven ---
Hello World!
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.535s
[INFO] Finished at: Tue Nov 12 11:48:04 CST 2013
[INFO] Final Memory: 4M/9M
[INFO] ------------------------------------------------------------------------
D:\my_workspace\myMaven>

 

Step 03: Build JAR 檔

將要 build JAR 檔的目的位置(Goals)設為 package

maven_goals  

再針對 pom.xml  作 Maven build , 就會在 target 目錄下得到:myMaven-0.0.1-SNAPSHOT.jar
  

mvn_build  

 

參考:

http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

文章標籤
創作者介紹
MIS

MISTECH 技術手抄本

MIS 發表在 痞客邦 PIXNET 留言(0) 人氣()