----------------準備工作-------------
Jdk 1.6以上java開發環境。
Eclipse IDE 一個。
Maven 3.0.3下載地址: http://maven.apache.org/docs/3.0.3/release-notes.html http://maven.apache.org/download.cgi
1、快速搭建步驟
將下載文件解壓,然後設置maven環境
如果你配置過jdk的話,這裏對你應該不難。如我的maven環境爲:F:\maven\apache-maven-3.0.3
我的電腦-----屬性----高級-----環境變量-----環境變量-----新建
變量名:M2_HOME 變量值:F:\maven\apache-maven-3.0.3
找到path 在環境變量值尾部加入:;%M2_HOME%\bin;---前面注意分號
當然,你也可以直接在path 路徑下加入:;F:\maven\apache-maven-3.0.3\bin 只是上面的方式更優雅一點。
打開命令提示符(開始---運行---cmd),檢查我們的java環境和maven環境是否有誤。
第二步:修改倉庫位置
修改我們倉庫地址,倉庫用於存放我們項目所依賴的所有jar包。
我的倉庫路徑:F:\maven\repo----這個路徑是我自己創建,你可以將路徑創建在任何位置。
打開F:\maven\apache-maven-3.0.3\conf\目錄下的setting.xml文件,設置成我們創建的倉庫路徑
下面我們用一個命令驗證一下。打開命令提示符,輸入:mvn help:system
該命令會打印出所有的java系統屬性和環境變量。這些信息對我們日常的編程工作很有幫且。
如果運行的過程中沒有錯誤,打開我們倉庫(F:\maven\repo)會發現裏面多了一些文件。這些文件就是我們從maven的中央倉庫下載到本地倉庫的。
第三步:創建maven項目
創建一個我們自己的項目。我們通過maven命令行方式創建一個項目 (創建的目錄可以隨意不一定是 F:\maven 任何存在的目錄都可以)
mvn archetype:create -DgroupId=com.chongshi.test -DartifactId=hello -DpackageName=com.chongshi.test -Dversion=1.0
因爲是第一次構建項目,所有依賴的jar包都要從maven的中央倉庫下載,所以需要時間等待。等以後我們的本地倉庫中積累了我們常用的jar包後,我們的開發將變得非常規範和方便。
藉助下載jar包的時間,我們來了解一下pom.xml文件。
Ø project:pom.xml文件中的頂層元素;
Ø modelVersion:指明POM使用的對象模型的版本。這個值很少改動。
Ø groupId:指明創建項目的組織或者小組的唯一標識。GroupId是項目的關鍵標識,典型的,此標識以組織的完全限定名來定義。比如,org.apache.maven.plugins是所有Maven插件項目指定的groupId。
Ø artifactId:指明此項目產生的主要產品的基本名稱。項目的主要產品通常爲一個JAR文件。第二,象源代碼包通常使用artifactId作爲最後名稱的一部分。典型的產品名稱使用這個格式: <artifactId>- <version>. <extension>(比如:myapp-1.0.jar)。
Ø version:項目產品的版本號。Maven幫助你管理版本,可以經常看到SNAPSHOT這個版本,表明項目處於開發階段。
Ø name:項目的顯示名稱,通常用於maven產生的文檔中。
Ø url:指定項目站點,通常用於maven產生的文檔中。
Ø description:描述此項目,通常用於maven產生的文檔中。
第四步:編譯項目代碼
我們的項目已經創建完成。但我們點開目錄發現,它並不是我們eclipse所需要的項目目錄格式。我們需要把它構建成我們eclipse可以導入的項目。
在命令提示符下進入到我們的創建的項目目錄(F:\maven\hello)下,執行:mvn clean compile
Clean 告訴maven清理輸入出目錄target/,compile告訴maven編譯項目主代碼。
不要急,我們又需要一段時間來下載相關jar包。^_^!第一次用maven要學會淡定。
目是編譯完了,但項目的目錄結構還不是我們想要的eclipse的項目結構,是不能導入到eclipse中的。所以,還需要執行一個命令:mvn eclipse:eclipse
命令執行完成後就得我們需要的項目目錄了。
第五步:導入eclipse
打開的我們的eclipse工具。先配置maven倉庫路徑
Window----Perferences-----java-----Build Path-----Classpath Variables ——>New一個變量的類路徑。
Name :M2_REPO 注意這個名字必須要大寫。Path :F:/maven/repo 點擊“Folder…”找到有本地倉庫的位置。
下面,可以導入我的hello項目了。Eclipse如何導入項目,我這裏就不說了,如果你是個java開發人員的話。
如何創建一個web項目
1. 如何創建一個web項目。其實非常簡單,只是比普通項目多加一個參數DarchetypeArtifactId ,命令如下:
mvn archetype:generate -DgroupId=com.chongshi.test -DartifactId=mywebapps -DarchetypeArtifactId=maven-archetype-webapp -Dversion=1.0
定位到創建項目的目錄下構建成eclipse項目:
F:\mywebapp>mvn eclipse:eclipse
通過maven構建後就是我們eclipse所需要的項目目錄如下。
web項目的標準目錄結構如下:
在構建的項目箇中沒有java目錄,通過手動創建就可以。(maven 的作用是幫助程序員管理 jar包的依賴,規範項目的結構,其他的一些項目中需要的java類、xml配置信息等都需要自己編寫)
通過pom.xml 配置創建項目
pom.xml完成之後,根據pom.xml 中目錄結構創建項目結構目錄如下
左邊是根據pom中配置穿件的目錄結構,右邊是執行 mvn eclipse:eclipse 之後的目錄結構。
在項目中我們引入了了spring框架,具體配置可以參考http://www.springsource.org/spring-framework
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.1.1.RELEASE</version>
</dependency>
還依賴servlet、junit。在build標籤下,加入了一下插件,如編譯插件可以設定使用的java版本、拷貝jar到制定目錄下的插件。 (插件可以更具“功能”去百度、google搜索)。 maven構建了基本的項目,之後就可以在相應的目錄編寫代碼了,所有的xml java 等等還需要手動去寫。
參考
http://www.cnblogs.com/fnng/archive/2011/12/02/2272610.html 入門
http://www.cnblogs.com/fnng/archive/2011/12/16/2290587.html web項目 jetty是通過maven 運行tomcat的插件
http://www.cnblogs.com/phoebus0501/archive/2011/05/10/2042511.html MAVEN常用命令
http://www.blogjava.net/jianyue/articles/227932.html maven pom.xml詳解
http://blog.csdn.net/yuxinleipp/article/details/7633600 maven 拷貝依賴jar到 lib中
http://www.blogjava.net/jianyue/articles/maven2_setting.html maven2 setting文件詳解
http://blog.csdn.net/sosohotsummer/article/details/8963869
http://blog.csdn.net/johnjobs/article/details/8110779
http://blog.csdn.net/shb_derek/article/details/8163461 maven用途、核心概念、用法、常用參數和命令、擴展
Maven庫:
http://repo2.maven.org/maven2/
Maven依賴查詢:
Maven常用命令:
1. 創建Maven的普通java項目:
mvn archetype:create
-DgroupId=packageName
-DartifactId=projectName
2. 創建Maven的Web項目:
mvn archetype:create
-DgroupId=packageName
-DartifactId=webappName
-DarchetypeArtifactId=maven-archetype-webapp
3. 編譯源代碼: mvn compile
4. 編譯測試代碼:mvn test-compile
5. 運行測試:mvn test
6. 產生site:mvn site
7. 打包:mvn package
8. 在本地Repository中安裝jar:mvn install
9. 清除產生的項目:mvn clean
10. 生成eclipse項目:mvn eclipse:eclipse
11. 生成idea項目:mvn idea:idea
12. 組合使用goal命令,如只打包不測試:mvn -Dtest package
13. 編譯測試的內容:mvn test-compile
14. 只打jar包: mvn jar:jar
15. 只測試而不編譯,也不測試編譯:mvn test -skipping compile -skipping test-compile
( -skipping 的靈活運用,當然也可以用於其他組合命令)
16. 清除eclipse的一些系統設置:mvn eclipse:clean
ps:
一般使用情況是這樣,首先通過cvs或svn下載代碼到本機,然後執行mvn eclipse:eclipse生成ecllipse項目文件,然後導入到eclipse就行了;修改代碼後執行mvn compile或mvn test檢驗,也可以下載eclipse的maven插件。
mvn -version/-v 顯示版本信息
mvn archetype:generate 創建mvn項目
mvn archetype:create -DgroupId=com.oreilly -DartifactId=my-app 創建mvn項目
mvn package 生成target目錄,編譯、測試代碼,生成測試報告,生成jar/war文件
mvn jetty:run 運行項目於jetty上,
mvn compile 編譯
mvn test 編譯並測試
mvn clean 清空生成的文件
mvn site 生成項目相關信息的網站
mvn -Dwtpversion=1.0 eclipse:eclipse 生成Wtp插件的Web項目
mvn -Dwtpversion=1.0 eclipse:clean 清除Eclipse項目的配置信息(Web項目)
mvn eclipse:eclipse 將項目轉化爲Eclipse項目
在應用程序用使用多個存儲庫
<repositories>
<repository>
<id>Ibiblio</id>
<name>Ibiblio</name>
<url>http://www.ibiblio.org/maven/</url>
</repository>
<repository>
<id>PlanetMirror</id>
<name>Planet Mirror</name>
<url>http://public.planetmirror.com/pub/maven/</url>
</repository>
</repositories>
mvn deploy:deploy-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar -DrepositoryId=maven-repository-inner -Durl=ftp://xxxxxxx/opt/maven/repository/
發佈第三方Jar到本地庫中:
mvn install:install-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar
-DdownloadSources=true
-DdownloadJavadocs=true
mvn -e 顯示詳細錯誤 信息.
mvn validate 驗證工程是否正確,所有需要的資源是否可用。
mvn test-compile 編譯項目測試代碼。 。
mvn integration-test 在集成測試可以運行的環境中處理和發佈包。
mvn verify 運行任何檢查,驗證包是否有效且達到質量標準。
mvn generate-sources 產生應用需要的任何額外的源代碼,如xdoclet。
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/lifxue/archive/2009/10/14/4662902.aspx
常用命令:
mvn -v 顯示版本
mvn help:describe -Dplugin=help 使用 help 插件的 describe 目標來輸出 Maven Help 插件的信息。
mvn help:describe -Dplugin=help -Dfull 使用Help 插件輸出完整的帶有參數的目標列
mvn help:describe -Dplugin=compiler -Dmojo=compile -Dfull 獲取單個目標的信息,設置 mojo 參數和 plugin 參數。此命令列出了Compiler 插件的compile 目標的所有信息
mvn help:describe -Dplugin=exec -Dfull 列出所有 Maven Exec 插件可用的目標
mvn help:effective-pom 看這個“有效的 (effective)”POM,它暴露了 Maven的默認設置
mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook 創建Maven的普通java項目,在命令行使用Maven Archetype 插件
mvn exec:java -Dexec.mainClass=org.sonatype.mavenbook.weather.Main Exec 插件讓我們能夠在不往 classpath 載入適當的依賴的情況下,運行這個程序
mvn dependency:resolve 打印出已解決依賴的列表
mvn dependency:tree 打印整個依賴樹
mvn install -X 想要查看完整的依賴蹤跡,包含那些因爲衝突或者其它原因而被拒絕引入的構件,打開 Maven 的調試標記運行
mvn install -Dmaven.test.skip=true 給任何目標添加maven.test.skip 屬性就能跳過測試
mvn install assembly:assembly 構建裝配Maven Assembly 插件是一個用來創建你應用程序特有分發包的插件
mvn jetty:run 調用 Jetty 插件的 Run 目標在 Jetty Servlet 容器中啓動 web 應用
mvn compile 編譯你的項目
mvn clean install 刪除再編譯
mvn hibernate3:hbm2ddl 使用 Hibernate3 插件構造數據庫