0.1 Maven相關知識(項目開發基礎)

1、Maven 

1.1Maven是什麼

  Maven項目對象模型(POM),能夠經過一小段描述信息來管理項目的構建,報告和文檔的項目管理工具軟件。spring

  Maven這個單詞來自於意第緒語(猶太語),意爲知識的積累,最初在Jakata Turbine項目中用來簡化構建過程。apache

歸納地說,Maven簡化和標準化項目建設過程。處理編譯,分配,文檔,團隊協做和其餘任務的無縫鏈接。 Maven增長可重用性並負責創建相關的任務。tomcat

1.2 Maven 和 Ant 的差別

Maven 和 Ant 針對構建問題的兩個不一樣方面。Ant 爲 Java 技術開發項目提供跨平臺構建任務。Maven 自己描述項目的高級方面,它從 Ant 借用了絕大多數構建任務。bash

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.3 優點以及特色

1   約定優於配置  (Convention over configuration)          2簡單       3測試支持  4 構建簡單      5  CI    6    插件豐富maven

 

1.4 安裝和使用

a) https://maven.apache.org/download.cgi       直接解壓ide

bin目錄 :命令  boot:Class loader  類加載器 :conf目錄:全部配置的setting.xml  工具

超級pom.xml目錄:D:\Develop software\apache-tomcat-7.0.52\apache-maven-3.5.4\lib\maven-model-builder-3.5.4.jar\org\apache\maven\model post

環境配置:MAV_HOME測試

  1. Windows  path
  2. Linux  .bash_profile 

1.5 Maven原理

用戶請求————>./(用戶目錄下的)m2/setting.xml ——————>config/.m2/setting.xmlui

maven在IDEA裏配置:setting/maven 配置運行的setting.xml和D:\Develop software\apache-tomcat-7.0.52\maven-repository下載Jar包目錄。

setting.xml經常使用裏面標籤的含義(能夠本身配setting)

1  <localRepository>   jar包下載路徑

2  <pluginGroups>   插件配置的運行

3  <proxies>      加相應的代理

4  <servers>        配置登陸名密碼

5  <mirrors>      配置鏡像下載。分享一個快速的阿里雲的配置

<mirror>  

  <id>alimaven</id>  

  <name>aliyun maven</name>  

  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  

  <mirrorOf>central</mirrorOf>          

</mirror>

<mirror>

<id>ui</id>

<mirrorOf>central</mirrorOf>

<name>Human Readable Name for this Mirror.</name>

<url>http://uk.maven.org/maven2/</url>

</mirror>

<mirror>

            <id>osc</id>

            <mirrorOf>central</mirrorOf>

            <url>http://maven.oschina.net/content/groups/public/</url>

        </mirror>

        <mirror>

            <id>osc_thirdparty</id>

            <mirrorOf>thirdparty</mirrorOf>

            <url>http://maven.oschina.net/content/repositories/thirdparty/</url>

        </mirror>

6     <profiles>       多個環境切換配置

pom.xml 經常使用裏面標籤的含義

a) pom.xml

  1. groupId   com.gupaoedu  建包規範
  2. artfactId 功能命名
  3. version 版本號
  4. packaging  打包方式 默認是jar

dependencyManagemen

<properties>    變量(內置)

dependencyMangement    只出如今主pom,統一版本號,聲明和

dependency        Type 默認jar,

scope下的子標籤

a) compile  編譯   例如spring-core

b) test 測試

c) provided編譯  例如 servlet

d) runtime運行時 例如JDBC驅動實現

e) system 本地一些jar  例如短信jar

f) 依賴傳遞

第一列表示直接依賴的scope,第一行表示間接依賴的scope

1.6 生命週期

 lifecycle生命週期/phase階段/goal

1.clean    裏有pre-clean,clean目標,post-clean   

2 default 常見的有compile,package ,install ,depoly......  

3 site   裏有 pre-site,site,post-site,site-deploy

  1. A Build Lifecycle is Made Up of Phases(構建生命週期由多個階段組成)
  2. A Build Phase is Made Up of Plugin Goals(構建階段由插件目標組成)

以下圖所示

相關文章
相關標籤/搜索