首頁技術(shù)文章正文

Maven

更新時間:2018-07-27 來源:黑馬程序員 瀏覽量:

一、Maven簡介(一)什么是Maven


      Maven是apache下的開源項目,項目管理工具,管理java項目。

1、項目對象模型(Project Object Model)

      POM對象模型,每個maven工程中都有一個pom.xml文件,定義工程所依賴的jar包、本工程的坐標(biāo)、打包運行方式。。

2、依賴管理系統(tǒng)(基礎(chǔ)核心 )

       maven通過坐標(biāo)對項目工程所依賴的jar包統(tǒng)一規(guī)范管理。

3、maven定義一套項目生命周期

清理、初始化、編譯、測試、報告、打包、部署、站點生成

4、一組標(biāo)準(zhǔn)集合

       強調(diào):maven工程有自己標(biāo)準(zhǔn)的工程目錄結(jié)構(gòu)、定義坐標(biāo)有標(biāo)準(zhǔn)。

5、maven 管理項目生命周期過程都是基于插件完成的

(二)Maven倉庫


1、中央倉庫

       就是遠(yuǎn)程倉庫,倉庫中jar由專業(yè)團隊(maven團隊)統(tǒng)一維護。

       中央倉庫的地址:http://repo1.maven.org/maven2/

2、本地倉庫

相當(dāng)于緩存,工程第一次會從遠(yuǎn)程倉庫(互聯(lián)網(wǎng))去下載jar 包,將jar包存在本地倉庫(在程序員的電腦上)。第二次不需要從遠(yuǎn)程倉庫去下載。先從本地倉庫找,如果找不到才會去遠(yuǎn)程倉庫找。

3、私服

       在公司內(nèi)部架設(shè)一臺私服,其它公司架設(shè)一臺倉庫,對外公開。


(三)本地倉庫配置1. 拷貝本地倉庫

將資料中的repository_ssh.zip解壓到D盤
2. 配置本地倉庫
打開maven的安裝目錄中conf/ settings.xml文件,在這里配置本地倉庫:

  <localRepository>D:\repository_ssh</localRepository>
      

這里的意思是配置本地倉庫的目錄為D:\repository_ssh

工程目錄結(jié)構(gòu)說明:

project

       /src/main/java      主體程序 java源文件(不要放配置文件)

       /src/main/resources 主體程序所需要的配置文件(不要放java文件)

       /src/test/java       單元測試程序 java源文件

       /src/test/resources   單元測試程序所用的配置文件

       /target           編譯輸出目錄

pom.xml          Maven進行工作的主要配置文件。   

(四)項目生命周期(了解)Maven有三套相互獨立的生命周期,分別是:clean、default、site。clean主要是清理項目、default是Maven最核心的的構(gòu)建項目、site是生成項目站點。每一個大的生命周期又分為很多個階段。后面的階段依賴于前面的階段,這點有點像Ant的構(gòu)建依賴。生命周期本身相互獨立,用戶可以僅僅調(diào)用生命周期的某一個階段,也就是說用戶調(diào)用了default周期的任何階段,并不會觸發(fā)clean周期以及site周期的任何事情。

(1)clean周期:

pre-clean:準(zhǔn)備清理

clean:真正的清理工作

post-clean:執(zhí)行清理后的一些后續(xù)工作

(2)default周期:

validate:驗證

initialize:初始化配置

generate-sources:生成源代碼編譯目錄

process-sources:處理項目主資源文件,復(fù)制資源文件到outputclasspath

generate-resources:生成資源目錄

process-resources:處理資源文件

complie:編譯源代碼

process-classes:處理編譯后文件

generate-test-sources:生成測試目錄

process-test-sources:處理項目測試資源文件,復(fù)制測試資源文件到outputclasspath

generate-test-resources:生成測試資源文件

process-test-resources:處理測試資源文件

test-compile:編譯測試代碼

process-test-classes:處理測試代碼

test:單元測試運行測試代碼

prepare-package:打包前的準(zhǔn)備

package:將編譯好的代碼打包成為jar或者war或者ear等等

pre-integration-test:準(zhǔn)備整體測試

integration-test:整體測試

post-integration-test:為整體測試收尾

verify:驗證

install:安裝到本地Maven庫

deploy:將最終包部署到遠(yuǎn)程Maven倉庫

(3)site周期:

pre-site:準(zhǔn)備生成站點

site:生成站點及文檔

post-site:站點收尾

site-deploy:將生成的站點發(fā)布到服務(wù)器上

(五)常見命令

常用命令如下:

compile:編譯

clean:清理,將target下的class文件清理

test:執(zhí)行單元測試類,執(zhí)行src/test/java下的類

package :將java工程打成jar、war。

install:安裝命令,將將程的jar發(fā)布到本地倉庫

發(fā)布到倉庫,目錄按照本工程定義的坐標(biāo)生成目錄

擴展:

其實我們所執(zhí)行的這些命令是對maven原生命令的封裝,我們可以在命令提示符下直接通過這些命令來對代碼進行編譯打包等操作,格式如下:

mvn 命令名稱        運行不調(diào)試

mvnDebug 命令名稱   調(diào)試運行

我們要在命令提示符下執(zhí)行maven命令必須配置下面兩個環(huán)境變量

MAVEN_HOME    D:\apache-maven-3.3.9

PATH             %MAVEN_HOME%\bin

測試Maven環(huán)境 ,在控制臺輸入mvn -v ,有下列信息輸出表示Maven配置正常。


作者:黑馬程序員javaEE培訓(xùn)學(xué)院
首發(fā):http://java.itheima.com/

分享到:
在線咨詢 我要報名
和我們在線交談!