Maven入門基礎

jopen 12年前發布 | 30K 次閱讀 Maven 項目構建

maven介紹

maven是構建工具,也是構建管理工具。ant只是構建工具,因為不支持生成站點功能,只有預處理,編譯,打包,測試,部署等功能。

  • maven坐標

groupId:項目組織的逆向域名,比如Apache的項目可以org.apache開頭

artfactId:表示groupId下單個項目的唯一標識

version:發布項目的版本,版本標識加上SNAPSHOT標記

packing:項目打包后的輸出,默認為jar。指為war項目打包生成一個web項目。

groupId,artfactId,version標識項目的唯一性,packing可以缺省

  • maven生命周期

介紹mvn package的生命周期,運行此命令的時候,有下圖的幾個階段(左側為階段,右側為階段)

Maven入門基礎

resources:resources:Resources插件把resources目標綁定到resources階段,還有就是src/main/resources下的資源和配置輸出到目標目錄

compiler:compile:Compiler插件把complie目標綁定到compile階段,還有就是把src/main/java下的源代碼和配置文件輸出到目標目錄

resources:testRescources:Resources插件把tetsResources目標綁定到resources階段,把src/test/resources下的資源和配置輸出到目標目錄

compiler:testCompile:Cpmpiler把compiler目標綁定到compile階段,把src/test/java下的源代碼和配置文件輸出到目標

surefire:test:Surefire插件把test目標綁定到test階段

jar:jar:Jar插件把jar目標綁定到package階段,打包輸出jar文件

  • maven倉庫

默認倉庫:http://repo1.maven.org/maven2/ 

本地倉庫地址:C:\Users\baobao\.m2\repository

第一運行maven的時候,會從默認倉庫下載很多默認的插件。構建項目的插件默認都是遠程下載的。

默認倉庫的地址,可以修改 。可以指向自己的服務器(用Apache Archiva搭建 maven 倉庫服務器)。

  • maven依賴關系

maven依賴的不僅僅是一個jar文件,還有一個pom文件。這個pom文件聲明了jar對其他的jar的依賴。這種依賴稱之為傳遞性依賴 。

    <dependency>  
          <groupId>junit</groupId>  
          <artifactId>junit</artifactId>  
          <version>3.8.1</version>  
          <scope>test</scope>  
    </dependency>  

scope為test的時候,說明依賴范圍是test,只有運行compile:testCompile和surefire:test目標的時候才會使用。其它的范圍類似。

scope為provided的時候,依賴只是在編譯的時候。

  • maven生成站點

運行mvn site命令,會在target/site目錄下面看到一個web站點,運行index.html可以看到項目的一些基本信息,比如開發者

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!