天天看點

Maven2認識一下Maven2Maven2 for eclipse 的插件:運作Maven2其他技巧

Maven2

認識一下Maven2

For Eclipse 插件

運作Maven2

其他技巧

認識一下Maven2

經過幾天的折騰,終于對Maven2有了一個簡單的了解。趕緊記下,以備查也同時給正在折騰中的朋友做個參考。

Maven2的最新版本可以在apache的網站上下載下傳得到http://maven.apache.org/。 Maven2是apache的一個項目。下載下傳後解壓到硬碟的一個目錄下,如:d:\java\maven,然後将d:\java\maven\bin加入到path變量中,以便于在任何目錄都可以使用指令。

運作mvn -version指令,會顯示目前maven的版本資訊。這樣maven就安裝成功了。

接下來就是讓Maven為我們幹活了。但是怎麼用呢?在網上好一頓搜,發現大部分文章都是轉來轉去。沒說明白的地方都沒說明白。(可能是我的了解能力有關)

最後在一個網站上找到一個英文教程。在這個網站上注冊之後就可以下載下傳了。http://www.mergere.com/ 寫得比較詳細。按照文章的指導生成簡單的工程是沒有問題的。最令我吃驚的通過一個指令就可以生一個項目的網站。同apache上的一樣哦。

先看看:

唯一不爽的就是不知道怎麼生成中文的網站。

下面我們就簡單的學習幾個指令:

建一個新的工程

C:\project> mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app

這個指令會在目前目錄建立一個JAVA工程。目錄名稱為my-app。目錄結構如下:

編譯

C:\project\my-app> mvn complie

這個指令一定在工程的根目錄下執行。就是與pom.xml平級的目錄。

測試

C:\project\my-app> mvn test

打包

C:\project\my-app> mvn package

生成站點

C:\project\my-app> mvn site

建立一個WEB工程

mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp

詳細的内容還是看原文的文檔吧。如果那位英文比較翻譯一下。記得通知我一下:)

Maven2 for eclipse 的插件:

插件的更新位址:http://m2eclipse.codehaus.org/

可以在eclipse的更新中下載下傳此插件。

直接在此網站上下載下傳,下來的jar包隻有1k,不能用.線上更新大概有9M多.速度還是很慢的..

經過N次試驗發現這個插件有一個小小的問題:maven的資源庫必須是預設的路徑,就是${userhome}/.m2.repository。如果不是這個路徑eclispse 中插件的設定界面無法打開。

Maven2 for eclipse插件是通過外部擴充工具執行Maven相關指令的.

一、運作環境設定

在安裝好Maven插件的Eclipse中,在工程上點右鍵會有一個Maven菜單

選中Enable之後,輸入Group Id 等資訊,如圖:

現在就可以在工程中應用maven2 了。在打開的pom.xml編輯器中或maven2菜單中選擇add dependency .在查詢的對話框中輸入要加入的jar的group id 即可自動列出各個版本的jar 可以選擇。

選擇好後在pom.xml檔案中就會自動添加依賴關系代碼:

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>4.0</version>

</dependency>

如果在列出的版本中沒有想要的最新時,可以直接将pom.xml檔案中的版本改成想要的版本,如果該Jar在Maven中釋出了最新版本就可以直接下來了。下載下傳是在編譯工程時自動進行的。

我将Junit中的版本改為4.1之後下載下傳下來的就是最新的4.1版。

運作Maven2

在eclilpse 是通過外部工具來運作maven2 的指令的。

在 運作 菜單中 選擇外部工具 就會出現 外部工具運作配置對話框

将base directory 設定成工程的要目錄,然後在goals 中選擇想要運作的任務就可以了。

其他技巧

1、跳過測試

隻要在指令行中輸入指令後面加上參數 -Dmaven.test.skip=true

例如:

mvn package -Dmaven.test.skip=true

2、測試Hibernate程式,hibernate.cfg.xml應該放到src/test/resources目錄,這樣測試類編譯後才能夠找到hibernate.cfg.xml并運作。

3、maven 中引用系統變量

這是官方的解釋:

Properties are the last required piece in understanding POM basics. Maven properties are value placeholder, like properties in Ant. Their values are accessible anywhere within a POM by using the notation ${X}, where X is the property. They come in five different styles:

  1. env.X: Prefixing a variable with "env." will return the shell's environment variable. For example, ${env.PATH} contains the $path environment variable (%PATH% in Windows).
  2. project.x: A dot (.) notated path in the POM will contain the corresponding element's value. For example: <project><version>1.0</version></project> is accessible via ${project.version}.
  3. settings.x: A dot (.) notated path in the settings.xml will contain the corresponding element's value. For example: <settings><offline>false</offline></settings> is accessible via ${settings.offline}.
  4. Java System Properties: All properties accessible via java.lang.System.getProperties() are available as POM properties, such as ${java.home}.
  5. x: Set within a <properties /> element. The value may be used as ${someVar}.

1、如果引用系統屬性中的變量需要在前面加上env字首

2、如果想引用工程中定義元素,使用${project.XXX}這個名稱是根據xml的元素定義的。

3、在setting.xml中設定的内容可以通過${settings.XXX}來引用 4、系統變量可以直接引用 5、在<properties/>中定義的變量直接使用就可以了。