Maven 瞭解

maven 相關

在這裏有一個maven的教程,大家可以看看,很有用處,很多maven的概念就都瞭解了,http://www.yiibai.com/maven/

兩大核心:
1 對jar包的依賴管理
好處:項目的大小大大的減小了,因爲只需要.POM文件管理項目的依賴,不需要jar包實際放在工程中
2 項目構建 項目編碼完成之後的操作
編譯,測試,打包,部署使用mvn之後,通過命令,實現非常簡單

1、maven的作用:

當我第一次搜索Maven的作用到底是什麼的時候,一大堆專業詞彙衝到我的眼前,例如“項目對象建模”,“Maven和Ant”,“項目生命週期”,“項目依賴管理”。。等等等等等我看不懂的字眼。
通過學習,我告訴大家maven有什麼作用。

前言: maven項目也是一個項目,類似於javaProject,javaWebProject,就是多了些功能,其他也沒啥,所以大家接觸的時候不要害怕!
maven不僅是構建工具,還是一個依賴管理工具和項目信息管理工具,

svn和git都是項目的版本控制工具,管的不一樣。

概述
Maven是一個項目構建工具,服務與構建.使用Maven配置好項目後,輸入簡單的命令,如:mvn clean install,Maven會幫我們處理那些繁瑣的任務.
Maven是跨平臺的.
Maven最大化的消除了構建的重複.
Maven可以幫助我們標準化構建過程.所有的項目都是簡單一致的,簡化了學習成本.

一些基本的操作,編譯,構建,單元測試,安裝,網站生成,打包,和基於Maven部署項目。

使用Maven 打包項目
“mvn package” 來打包項目,不需要指定打成什麼包,會根據項目類型進行打包, web 項目打成war包,Java項目打成jar包

使用Maven清理項目
“mvn clean” 來清理項目,清理之前生成的 .class 文件,就是講target目錄刪除掉

使用Maven 編譯項目
mvn compile 將Java文件編譯爲.class文件,重新生成target目錄

使用Maven運行單元測試
“mvn test” 來執行單元測試, 測試test目錄下的所有的測試類,但是要求類要以Test結尾

將項目安裝到Maven本地資源庫
“mvn install” 打包和部署項目到本地資源庫,解決本地多個項目公用一個jar包,不需要一遍遍的複製到每一個工程下面,而且方便修改

生成基於Maven的項目文檔站點
“mvn site” 來爲您的項目生成信息文檔站點

使用“mvn site-deploy”部署站點(WebDAV例子)
“mvn site-deploy” 通過WebDAV部署自動生成的文檔站點到服務器

部署基於Maven的war文件到Tomcat
“mvn tomcat:deploy” 以 WAR 文件部署到 Tomcat

group id : 一般爲公司域名的倒序,不會重複
artifact id: 項目的名稱
version:
snapshot 測試版本
releases: 發行版本

1 . 幫你下載jar包

maven項目會有一個 pom.xml文件, 在這個文件裏面,只要你添加相應配置,他就會自動幫你下載相應jar包,不用你鋪天蓋地的到處搜索你需要的jar包了
下面是示範配置文件pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
 <modelVersion>4.0.0</modelVersion>  
 <groupId>exam</groupId>   
 <artifactId>exam_3</artifactId>   
 <packaging>war</packaging>    
 <version>0.0.1-SNAPSHOT</version>  
  <dependencies>    
 <dependency>    
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>   
    <version>3.8.1</version>      
    <scope>test</scope>   
 </dependency>    
 <dependency>      
   <groupId>org.springframework</groupId>   
    <artifactId>spring-web</artifactId>     
    <version>3.0.5.RELEASE</version>  
   </dependency>    
 <dependency>        
   <groupId>org.springframework</groupId>   
   <artifactId>spring-webmvc</artifactId>      
   <version>3.0.5.RELEASE</version>  
   </dependency>   
  </dependencies>
</project>

以上主要看的結點裏面的內容,
裏面每配置一個,
org.springframework 項目名
spring-webmvc 項目模塊
3.0.5.RELEASE 項目版本
maven都會通過,項目名-項目模塊-項目版本來maven在互聯網上的代碼庫中下載相應jar包。
所以這就是maven的功能之一,幫你下載jar包

2 . 尋找依賴,幫你下載依賴

尋找jar包是第一基本功能,尋找依賴在這個是在這個基礎上的功能。
在maven的代碼庫中,每一個jar包也有自己的 pom.xml文件,而這個文件裏面也會有配置,什麼依賴範圍我就不細說了,我想表達的就是,只要你配置的jar包所依賴的其他jar包都會被maven自動下載下來。

例如: 你配置了
“`

org.springframework
spring-core
2.6

““
你要maven幫你下載spring-core-2.6.jar包
而這個jar包裏面需要用到commons-logging.jar這個包,
這叫就依賴,spring-core-2.6.jar依賴於commons-logging.jar。
這就是maven第二個作用,幫你下載依賴包。

3 . 熱部署,熱編譯

意思就是,在你web項目已經運行的時候,修改代碼的能直接被web服務器所接受,就不需要你 重啓服務器了,或者重新部署代碼了,而且你可以直接通過maven 打包war或者jar項目。
我就是大概說了一下maven 的基本作用,裏面還有更詳細的,想要了解的話,我是看這本書學的《Maven實戰》這本書學的,這裏分享一下免費電子版,感謝作者
http://www.infoq.com/cn/minibooks/maven-in-action

再說說maven,我們每做一個項目,都要往lib目錄扔很多jar包,spring的啊hibernate的啊apache的啊等等,這樣就會導致很多包不知從哪個角落下載回來的,名稱千奇百怪,版本也不明,項目多了以後還得自己複製來複制去,容易有多種不同版本的包混雜。maven最基本最重要的功能就是管理這些項目間的依賴關係,用一個xml來維護。如果你的工程要用spring,你就在maven的pom.xml裏配一下spring的項目名稱和版本號,要用其他的也一樣。

得益於maven已經成爲java世界的主流工具,絕大部分知名的項目都在maven中央倉庫有標準名稱,有各種不同的版本存在,你只要配下名稱,配下版本號,maven就會自動從網上爲你下載jar包並讓你的工程依賴上,你的本地硬盤的倉庫目錄能看到井井有條的你用過的所有第三方項目的jar包和源代碼,再也不用去下載那些來路不明的jar包再扔到工程裏了,也不用擔心寫同一個項目的兩個人一個用了3.0版的spring,一個用了2.5版的spring,以至搞出莫名其妙的問題。

有了maven,我們不再需要往git或svn提交jar包,項目庫的體積大大減小,下載項目變得快多了。而且只要提交一個pom.xml文件和你的代碼,其他人自然也能下載到和你本地一模一樣的第三方jar包,下過一次某個jar包以後,其他項目再用同一個jar包時,maven自然會使用本地倉庫文件夾裏存在的jar包,不需要再次下載,也不會出現很多個拷貝。
另一個好處是maven的pom.xml任何一個主流ide工具都認識,都可以導入項目,你不用再操心你提交的.project和.settings文件因爲別人的eclipse版本和你不同而導不進去,也不用再擔心有人用的是別的ide認不得你的eclipse項目元文件,你不需要提交這些和開發工具有關的文件到服務器上了。

本文轉載自博客 :
http://blog.csdn.net/qq_27376871/article/details/51612742

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