maven入門詳解

----------------準備工作-------------

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 配置創建項目

 View Code

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常用命令

Maven庫:

http://repo2.maven.org/maven2/

Maven依賴查詢:

http://mvnrepository.com/

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 插件構造數據庫

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章