首頁技術(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進(jìn)行工作的主要配置文件。   

(四)項目生命周期(了解)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原生命令的封裝,我們可以在命令提示符下直接通過這些命令來對代碼進(jìn)行編譯打包等操作,格式如下:

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/

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