終於能夠記錄了,呵呵~(maven視屏學習記)

1、下載maven

下載maven像坨屎,不解釋了。直接網站下載就能夠了java

2、配置maven

(mac下面配置)在/User/jicheng/.bash_profile文件裏面加入下面的maven配置路徑shell

MAVEN_HOME=/Users/xuchen/Desktop/dev/applications/maven/apache-maven-3.2.1#maven全路徑 
PATH=$PATH:$MAVEN_HOME/bin  
  
export MAVEN_HOME  
export PATH

3、maven目錄結構

src
    -main
        -java
            -(包名及類)
    -test
        -java
            -(對應的測試包名及類)
    -resource
    -pom.xml

4、命令學習

mvn -v              查看maven版本
    compile         編譯
    test            測試
    package         打包

    clean           刪除target
    install         安裝jar包到本地倉庫中

5、使用maven插件自動建立maven工程骨架

mven archetype:generate( -DgroupId=組織名
                         -DartifactId=項目名-模塊名
                         -Dversion=版本號
                         -Dpackage=代碼存在的包)

6、對setting.xml的基礎修改

修改鏡像倉庫地址:找到裏面的mirror標籤進行修改 修改本地jar包倉庫地址:找到裏面的localRepository標籤 p.s.:對setting文件的修改是五花八門的,之前zte的時候設置那個setting複雜到想死。如今youzan要簡單多了。之後再慢慢深刻的瞭解與學習apache

7、maven項目構建過程

清理、編譯、測試、打包、集成測試、驗證、部署bash

生命週期:服務器

  • clean 清理項目:
- pre-clean 執行清理前的工做
       - clean 清理上一次構建生成的全部文件
       - post-clean 執行清理後的文件
  • default 構建項目:
- compile test package install
  • site 生成項目站點:
- pre-site 再生成項目站點前要完成的工做
       - site 生成項目的站點文檔
       - post-site 在生成項目站點後要完成的工做
       - site-deploy 發佈生成的站點到服務器上面

週期的問題:每一個生命週期都是相互隔離的,不會相互影響;每一個生命週期裏面的命令都是有順序的,順序靠後的命令執行會默認執行前面的命令app

8、maven中pom文件的介紹

<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>制定了當前pom的版本</modelVersion>
    <!--子模塊對父親模塊的繼承-->
    <parent>
        <groupId></groupId>
        <artifactId></artifactId>
        <version></version>
    </parent>
    <groupId>反寫公司網址+項目名</groupId>
    <artifactId>項目名+模塊名</artifactId>
    <version>
        第一0表示大版本號
        第二個0表示小版本號
        0.0.1
        snapshot快照
        alphabe內部測試
        beta公測
        Release穩定
        GA正式發佈
    </version>
    <!--默認是jar,能夠是war zip pom-->
    <packaging>war</packaging>
    <!--項目描述名-->
    <name>Mei Api</name>
    <!--項目地址-->
    <url>http://www.ruanwei.org</url>
    <!--項目描述-->
    <description>jicheng</description>
    <developers></developers>
    <licenses></licenses>
    <organization></organization>
    <dependencies>
        <dependency>
            <groupId></groupId>
            <artifactId></artifactId>
            <version></version>
            <type></type>
            <scope></scope>
            <!--設置依賴是否可選-->
            <optional></optional>
            <!--排除依賴傳遞的列表-->
            <exclusions>
                <exclision>
                    
                </exclision>
            </exclusions>
        </dependency>
    </dependencies>
    <!--依賴的管理-->
    <dependencyManagement>
        <dependencise>
            <dependency>
                主要定義在父親模塊
            </dependency>
        </dependencise>
    </dependencyManagement>
    <build>
        <plugins>
            <plugin>
                <groupId></groupId>
                <artifactId></artifactId>
                <version></version>
            </plugin>
        </plugins>
    </build>

    <!--主要聚合多個子模塊,能夠定義多個模塊,而後一塊兒編譯-->
    <modules>
        <module></module>
    </modules>

9、依賴問題

  • 每次若是要想本地倉庫安裝本身的包的話,要先運行package,而後再進行install,其實這兩個命令是屬於同一個聲明週期的,不知道爲何,我本地就是安裝不上。
  • 依賴衝突的問題:
一、 短路優先:A->B->C->X(jar);A->D->X(jar) 
      二、 先聲明先優先
相關文章
相關標籤/搜索