隨筆-112  評論-73  文章-0  trackbacks-0

          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/>中定義的變量直接使用就可以了。

          posted on 2007-05-20 18:38 Libo 閱讀(3510) 評論(5)  編輯  收藏

          評論:
          # re: Maven2 2007-06-07 11:43 | Angi
          您好!
          看了您的文章受益匪淺
          同時有個疑問想請教
          Maven Integration for Eclipse 和MevenIDE之間是何關系?  回復  更多評論
            
          # re: Maven2 2007-06-08 10:11 | 魚腸劍
          這個是什么關系還真不知道.  回復  更多評論
            
          # re: Maven2 2007-06-18 00:45 | hyysguyang@163.com
          maven的資源庫必須是默認的路徑,就是${userhome}/.m2.repository。


          這個限制很槽糕的,0.0.4都沒有限制,沒想到0.0.10居然就變成這樣了,真是郁悶.居然越來越退步了  回復  更多評論
            
          # re: Maven2 2007-07-06 10:50 | link
          受益匪淺.寫的很好.  回復  更多評論
            
          # re: Maven2 2007-09-03 20:08 | 怎一個愁字了得
          請問ant & maven 到底有什么用途???一直不得其解......

          我從來沒用過,也一樣做項目啊。  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 平罗县| 葵青区| 深圳市| 河间市| 永济市| 奉贤区| 杂多县| 虞城县| 西藏| 庆安县| 甘洛县| 喀什市| 永和县| 安塞县| 家居| 武邑县| 鄄城县| 桑日县| 尉犁县| 若尔盖县| 平山县| 镶黄旗| 福清市| 原平市| 灵武市| 鱼台县| 云和县| 甘德县| 卢氏县| 阿拉善右旗| 梅州市| 清水河县| 盐亭县| 陈巴尔虎旗| 关岭| 蕉岭县| 云南省| 赤城县| 屏南县| 永城市| 西峡县|