生活随笔
收集整理的這篇文章主要介紹了
《maven官方文档》5分钟开始Maven
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
原文地址
前提
你必須明白如何在電腦上安裝軟件。如果你不知道如何做,請向你學校、辦公室里等的人請教下,或者付費給他人讓他們解釋給你。Maven郵件組不是尋求這個建議的最好地方。
安裝
Maven是個Java工具,所以你必須安裝了Java才能繼續(xù)。首先,下載Maven,然后按照安裝指南。完成后,在終端或命令行中鍵入如下指令:
應該會打印已安裝Maven的版本。例如:
| 1 | Apache Maven?3.0.5?(r01de14724cdef164cd33c7c8c2fe155faf9602da;?2013-02-19?14:51:28+0100) |
| 2 | Maven home: D:\apache-maven-3.0.5\bin\.. |
| 3 | Java version:?1.6.0_25, vendor: Sun Microsystems Inc. |
| 4 | Java home: C:\Program Files\Java\jdk1.6.0_25\jre |
| 5 | Default locale: nl_NL, platform encoding: Cp1252 |
| 6 | OS name:?"windows 7", version:?"6.1", arch:?"amd64", family:?"windows" |
基于你的網(wǎng)絡(luò)設(shè)置,你需要額外的配置。如果有必要的話看看Maven配置指南.如果你在使用Windows,你應該查看Windows前提以確保你已準備好在Windows上使用Maven。
創(chuàng)建一個項目
你需要一個給你項目保存的地方。在某處創(chuàng)建一個目錄,然后在這個目錄里開始shell。在你的命令行上,執(zhí)行如下Maven語言:
| 1 | mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false |
如果你已安裝Maven,第一次執(zhí)行這個需要一定時間。這是因為Maven在下載最新的物件(jar插件和其他文件)到你的本地倉庫。在成功前,也需要你執(zhí)行幾次命令。這是因為在下載完成前,遠程服務器可能超時。別擔心,有幾種解決這個的方法。
你講看見生成語言創(chuàng)建了一個和物件ID相同名字的目錄。變更到這個目錄:
使用這個目錄,你講看到如下標準目錄結(jié)構(gòu):
| 07 | ????|?????????? `-- mycompany |
| 08 | ????|?????????????? `-- app |
| 09 | ????|?????????????????? `-- App.java |
| 13 | ????????????????`-- mycompany |
| 14 | ????????????????????`-- app |
| 15 | ????????????????????????`-- AppTest.java |
src/main/java目錄包含項目源代碼,src/test/java目錄包含檢查源代碼,pom.xml是項目的項目對象模型,或POM。
POM
在Maven里,pom.xml文件是項目配置的核心。它是一個獨立的配置文件,包含了你想要的方式下建立項目所必須的主要信息。POM是巨大的,其復雜度使人苦惱。但你只需要有效地使用它,沒有必要明白所有的錯綜復雜。項目的POM是:
| 01 | <project xmlns="http://maven.apache.org/POM/4.0.0"?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| 02 | ??xsi:schemaLocation="http://maven.apache.org/POM/4.0.0?http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| 03 | ??<modelVersion>0.0</modelVersion> |
| 05 | ??<groupId>mycompany.app</groupId> |
| 06 | ??<artifactId>my-app</artifactId> |
| 07 | ??<version>0-SNAPSHOT</version> |
| 08 | ??<packaging>jar</packaging> |
| 10 | ??<name>Maven Quick Start Archetype</name> |
| 11 | ??<url>http://maven.apache.org</url> |
| 14 | ??????<groupId>junit</groupId> |
| 15 | ??????<artifactId>junit</artifactId> |
| 16 | ??????<version>8.2</version> |
| 17 | ??????<scope>test</scope> |
?
只需要我做的是什么?
你執(zhí)行了Maven語言原型:generate,向這個語言傳了許多參數(shù)。前綴原型是包含這個語言的插件。如果你熟悉Ant,你可以設(shè)想這個是相同的任務。基于一個原型,這個語言創(chuàng)建了一個簡單的項目。現(xiàn)在可以說,插件是個有通用目的的語言的集合。例如jboss-maven-plugin,目的是“處理大量jboss條目”。
建設(shè)項目
命令行會打印出各種指令,并具有以下結(jié)尾:
| 2 | [INFO] ------------------------------------------------------------------------ |
| 3 | [INFO] BUILD SUCCESSFUL |
| 4 | [INFO] ------------------------------------------------------------------------[INFO] Total time:?2?seconds |
| 5 | [INFO] Finished at: Thu Jul?07?21:34:52?CEST?2011 |
| 6 | [INFO] Final Memory: 3M/6M |
| 7 | [INFO] ------------------------------------------------------------------------ |
不像第一個執(zhí)行的命令(archetype:generate),你可能注意到第二個命令是簡單的一個詞-package。這是個階段實行而不是語言。實行階段是[建設(shè)生命周期]( https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html)里的而一個步驟,是一系列有序的階段。當給出一個實行階段,Maven將執(zhí)行序列里的每一個階段,并且包括定義的階段。例如,如果我們執(zhí)行編譯階段,實際上得到執(zhí)行的階段是:
驗證編譯代碼處理代碼生成資源文件處理資源文件編譯
您可以使用以下命令測試新編譯和打包的JAR:
| 1 | java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App |
將打印經(jīng)典語句:
運行Maven工具
Maven階段
盡管幾乎沒有一個全面的清單,這些都是執(zhí)行最常用的默認生命周期階段。
- 驗證:驗證項目是正確的,所有必要的信息
- 編譯:編譯項目的源代碼
- 測試:使用合適的單元測試框架測試編譯的源代碼。?這些測試應該不需要代碼被打包或部署
- 包:把編譯后的代碼,并在其分發(fā)格式打包,例如一個JAR。
- 集成測試:如果需要,處理和部署包到集成測試可以運行的環(huán)境
- 驗證:運行任何檢查,以驗證包是有效的,同時符合質(zhì)量標準
- 安裝:包本地安裝到本地存儲庫中,用作本地其他項目的依賴
- 部署:在集成或發(fā)布環(huán)境中進行,復制最終的包到遠程倉庫與其他開發(fā)者和項目共享。
還有值得注意的另外兩個Maven的生命周期超出上面的默認列表。?他們是
- 清潔:清理之前建立創(chuàng)建的工件
- 網(wǎng)站:生成此項目的站點文檔,
實行階段實際上映射到底層的語言。?每階段中執(zhí)行的具體語言是取決于項目的包類型。?例如,?packet執(zhí)行的jar:jar,如果項目類型為JAR和war:war?,如果項目類型是-你猜對了-WAR。
需要注意的一個有趣的事情是,階段和語言,可以按順序執(zhí)行。
| 1 | mvn clean dependency:copy-dependencies?package |
此命令將清理項目,復制依賴關(guān)系,并打包項目(當然執(zhí)行各個階段到包?)。
生成站點
這個階段產(chǎn)生基于對項目的POM信息的站點。你可以看一下在target/site生成的文檔。
結(jié)論
我們希望這一快速瀏覽已經(jīng)激起了你的Maven中的通用性興趣。請注意,這是一個非常截斷快速入門指南。現(xiàn)在,你已經(jīng)準備好關(guān)于你剛才執(zhí)行的動作更全面的信息。?看看Maven的入門指南?。
原創(chuàng)文章,轉(zhuǎn)載請注明:?轉(zhuǎn)載自并發(fā)編程網(wǎng) – ifeve.com本文鏈接地址:?《maven官方文檔》5分鐘開始Maven
from:?http://ifeve.com/getting_started_in_five_minutes/
總結(jié)
以上是生活随笔為你收集整理的《maven官方文档》5分钟开始Maven的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。