Maven的安裝與使用

一、maven下載 地址:http://maven.apache.org/download.cgihtml

二、解壓並配置settings.xml文件java

三、Eclipse配置web

四、訪問中央倉庫地址:https://mvnrepository.comspring

5.新建Maven項目apache

點擊【next】json

 

選maven-archetype-quickstart後,nextapi

 

小插曲: 原址:http://www.javashuo.com/article/p-tlgsizqt-ec.htmltomcat

Archetype,骨架的意思。mvc

Archetype是什麼?app

簡單的說,Archetype是Maven工程的模板工具包。一個Archetype定義了要作的相同類型事情的初始樣式或模型。這個名稱給咱們提供來了一個一致的生成Maven工程的方式。Archetype會幫助做者給用戶建立Maven工程模板,並給用戶提供生成相關工程模板版本的參數化方法。

使用Archetype提供的好的方法,是開發者可以使用最佳實踐來快速的構建和組織一致化的工程。在Maven工程中,咱們努力使用Archetype來儘量快的給用戶提供示例工程,同時也會把Maven的最佳實踐介紹給新的用戶。一個新的用戶能夠使用工做中的Maven工做做爲跳板來研究更過的Maven中功能。咱們也能夠使用Archetype的添加機制,這樣就意味着容許咱們抓取Archetype中項目片斷,並把它們添加到既存的工程中。Maven網站的Archetype就是很好的例子。例如,你能夠使用「quick start archetype」來生成一個工程,而後就能夠經過其中既存的「site archetype」來快速的建立一個網址工程。你可以使用Archetype來作不少這樣的事情。

在你的團隊中可能想要標準化的J2EE開發,這須要你提供EJBs、或者是WARs、或者是Web services的原型。一旦在你團隊資源庫中建立和部署這些原型,它們就能夠在你團隊內共享使用。

如何使用Archetype

要基於Archetype來建立一個新的工程,須要像下面示例這樣來調用:

mvn archetype:generate

已有的Archetypes

Archetype ID

說明

maven-archetype-archetype

一個樣例原型

maven-archetype-j2ee-simple

簡單的J2EE應用程序樣例

maven-archetype-mojo

Maven插件樣本的示例

maven-archetype-plugin

Maven插件樣本

maven-archetype-plugin-site

Mave插件網站的樣例

maven-archetype-portlet

JSR-268門戶樣例

maven-archetype-quickstart

Maven工程樣例

maven-archetype-simple

一個簡單的Maven工程

maven-archetype-site

Maven網站的樣例,它演示了對諸如APT、XDoc和FML等文檔類型的支持,並演示了若是把網站國際化(i18n)

maven-archetype-site-simple

Maven網站樣例

maven-archetype-webapp

Maven的Webapp工程樣例

 

  • 經常使用Archetype

1. maven-archetype-quickstart
默認的Archetype,基本內容包括:
一個包含junit依賴聲明的pom.xml
src/main/java主代碼目錄及一個名爲App的類
src/test/java測試代碼目錄及一個名爲AppTest的測試用例

2. maven-archetype-webapp
一個最簡單的Maven war項目模板,當須要快速建立一個Web應用的時候能夠使用它。生成的項目內容包括:
一個packaging爲war且帶有junit依賴聲明的pom.xml
src/main/webapp/目錄
src/main/webapp/index.jsp文件
src/main/webapp/WEB-INF/web.xml文件

 

小小插曲:

groupid和artifactId被統稱爲「座標」是爲了保證項目惟一性而提出的,若是你要把你項目弄到maven本地倉庫去,你想要找到你的項目就必須根據這兩個id去查找。
  groupId通常分爲多個段,這裏我只說兩段,第一段爲域,第二段爲公司名稱。域又分爲org、com、cn等等許多,其中org爲非營利組織,com爲商業組織。舉個apache公司的tomcat項目例子:這個項目的groupId是org.apache,它的域是org(由於tomcat是非營利項目),公司名稱是apache,artigactId是tomcat。
  好比我建立一個項目,我通常會將groupId設置爲cn.xiaobing,cn表示域爲中國,xiaobing是我我的姓名,artifactId設置爲api_methods,表示你這個項目的名稱是api_methods,依照這個設置,你的包結構最好是cn.xiaobing.api_methods打頭的,若是有個Student類,它的全路徑就是cn.xiaobing.api_methods.Student

點擊Finish完成建立:

6.項目配置

   (1) 添加Source Folder

   Maven規定,必須建立如下幾個Source Folder

   src/main/resources

   src/main/java

   src/test/resources

   src/test/java

   添加以上的Source Folder

建立好後的目錄以下:

 

(2) 配置配置Build Path

 

設定4個文件夾的輸出Output folder,雙擊修改分別修改輸出路徑爲
src/main/resources  對應  target/classes
src/main/java   對應  target/classes
src/test/resources  對應  target/test-classes
src/test/java   對應  target/test-classes

(3) 設定Libraries

 

配置完Build Path後目錄以下:

 

7.如需導入項目依賴如:fastjson

拷貝到pom.xml文件中,保存便可!

使用maven是爲了更好的幫項目管理包依賴,maven的核心就是pom.xml。當咱們須要引入一個jar包時,在pom文件中加上<dependency></dependency>就能夠從倉庫中依賴到相應的jar包。

如今有這樣一個場景,有兩個web項目A、B,一個java項目C,它們都須要用到同一個jar包:common.jar。若是分別在三個項目的pom文件中定義各自對common.jar的依賴,那麼當common.jar的版本發生變化時,三個項目的pom文件都要改,項目越多要改的地方就越多,很麻煩。這時候就須要用到parent標籤, 咱們建立一個parent項目,打包類型爲pom,parent項目中不存聽任何代碼,只是管理多個項目之間公共的依賴。在parent項目的pom文件中定義對common.jar的依賴,ABC三個子項目中只須要定義<parent></parent>,parent標籤中寫上parent項目的pom座標就能夠引用到common.jar了。

上面的問題解決了,咱們在切換一個場景,有一個springmvc.jar,只有AB兩個web項目須要,C項目是java項目不須要,那麼又要怎麼去依賴。若是AB中分別定義對springmvc.jar的依賴,當springmvc.jar版本變化時修改起來又會很麻煩。解決辦法是在parent項目的pom文件中使用<dependencyManagement></dependencyManagement>將springmvc.jar管理起來,若是有哪一個子項目要用,那麼子項目在本身的pom文件中使用

<dependency>

    <groupId></groupId>

      <artifactId></artifactId>

</dependency>

標籤中寫上springmvc.jar的座標,不須要寫版本號,能夠依賴到這個jar包了。這樣springmvc.jar的版本發生變化時只須要修改parent中的版本就能夠了。
--------------------- 
原文https://blog.csdn.net/qq_41254677/article/details/81011681 

 8.總結:不足之處後續修改補充,分享給須要的人!

相關文章
相關標籤/搜索