下載maven像坨屎,不解釋了。直接網站下載就能夠了java
(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
src -main -java -(包名及類) -test -java -(對應的測試包名及類) -resource -pom.xml
mvn -v 查看maven版本 compile 編譯 test 測試 package 打包 clean 刪除target install 安裝jar包到本地倉庫中
mven archetype:generate( -DgroupId=組織名 -DartifactId=項目名-模塊名 -Dversion=版本號 -Dpackage=代碼存在的包)
修改鏡像倉庫地址:找到裏面的mirror標籤進行修改 修改本地jar包倉庫地址:找到裏面的localRepository標籤 p.s.:對setting文件的修改是五花八門的,之前zte的時候設置那個setting複雜到想死。如今youzan要簡單多了。之後再慢慢深刻的瞭解與學習apache
清理、編譯、測試、打包、集成測試、驗證、部署bash
生命週期:服務器
- clean 清理項目:
- pre-clean 執行清理前的工做 - clean 清理上一次構建生成的全部文件 - post-clean 執行清理後的文件
- default 構建項目:
- compile test package install
- site 生成項目站點:
- pre-site 再生成項目站點前要完成的工做 - site 生成項目的站點文檔 - post-site 在生成項目站點後要完成的工做 - site-deploy 發佈生成的站點到服務器上面週期的問題:每一個生命週期都是相互隔離的,不會相互影響;每一個生命週期裏面的命令都是有順序的,順序靠後的命令執行會默認執行前面的命令app
<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>
- 每次若是要想本地倉庫安裝本身的包的話,要先運行package,而後再進行install,其實這兩個命令是屬於同一個聲明週期的,不知道爲何,我本地就是安裝不上。
- 依賴衝突的問題:
一、 短路優先:A->B->C->X(jar);A->D->X(jar) 二、 先聲明先優先