訂閱
糾錯
加入自媒體

自動化構(gòu)建工具M(jìn)aven:專注服務(wù)Java平臺項(xiàng)目構(gòu)建

Maven 核心概念

Maven能夠?qū)崿F(xiàn)自動化構(gòu)建是和它的內(nèi)部原理分不開的,這里我們從Maven的九個核心概念入手,看看Maven是如何實(shí)現(xiàn)自動化構(gòu)建的?

①POM

②約定的目錄結(jié)構(gòu)

③坐標(biāo)

④依賴管理

⑤倉庫管理

⑥生命周期

⑦插件和目標(biāo)

⑧繼承

⑨聚合

Maven特點(diǎn)

那么,Maven 和 Ant 有什么不同呢?

在回答這個問題以前,首先要強(qiáng)調(diào)一點(diǎn):Maven 和 Ant 針對構(gòu)建問題的兩個不同方面。Ant 為 Java 技術(shù)開發(fā)項(xiàng)目提供跨平臺構(gòu)建任務(wù)。Maven 本身描述項(xiàng)目的高級方面,它從 Ant 借用了絕大多數(shù)構(gòu)建任務(wù)。因此,由于 Maven 和 Ant代表兩個差異很大的工具。所以接下來只說明這兩個工具的等同組件之間的區(qū)別,如表 1 所示。

Maven是一個項(xiàng)目管理工具,它包含了一個項(xiàng)目對象模型 (Project Object Model),一組標(biāo)準(zhǔn)集合,一個項(xiàng)目生命周期(Project Lifecycle),一個依賴管理系統(tǒng)(Dependency Management System),和用來運(yùn)行定義在生命周期階段(phase)中插件(plugin)目標(biāo)(goal)的邏輯。當(dāng)你使用Maven的時候,你用一個明確定義的項(xiàng)目對象模型來描述你的項(xiàng)目,然后Maven可以應(yīng)用橫切的邏輯,這些邏輯來自一組共享的(或者自定義的)插件。

Maven 有一個生命周期,當(dāng)你運(yùn)行 mvn install 的時候被調(diào)用。這條命令告訴 Maven 執(zhí)行一系列的有序的步驟,直到到達(dá)你指定的生命周期。遍歷生命周期旅途中的一個影響就是,Maven 運(yùn)行了許多默認(rèn)的插件目標(biāo),這些目標(biāo)完成了像編譯和創(chuàng)建一個 JAR 文件這樣的工作。

此外,Maven能夠很方便的幫你管理項(xiàng)目報告,生成站點(diǎn),管理JAR文件,等等。

安裝 Maven 環(huán)境

1、確保安裝了java 環(huán)境:maven 本身就是java 寫的,所以要求必須安裝JDK。

查看java 環(huán)境變量:echo %JAVA_HOME%

2、下載并解壓maven 安裝程序:

maven.a(chǎn)pache.org/download.cg…

3、配置 Maven 的環(huán)境變量:

MAVEN_HOME=d:/apache-maven-3.3.9 或 者M(jìn)2_HOME=d:/apache-maven-3.3.9 path=%MAVEN_HOME%/bin; 或者%M2_HOME%/bin;

4、驗(yàn)證是否安裝成功: mvn –v

Maven 的核心概念

Maven 工程約定目錄結(jié)構(gòu)

maven 中約定的目錄結(jié)構(gòu):

Hello

|---src

|---|---main

|---|---|---java

|---|---|---resources

|---|---test

|---|---|---java

|---|---|---resources

|---pom.xml

說明:

Hello:根目錄,也就是工程名

src:源代碼

main:主程序

java:主程序的java 源碼

resources:主程序的配置文件

test:測試程序

java:測試程序的java 源碼

resources:測試程序的配置文件

pom.xml:Maven工程的核心配置文件。

一般情況下,我們習(xí)慣上采取的措施是:約定>配置>編碼

maven 的pom.xml 記錄的關(guān)于構(gòu)建項(xiàng)目的各個方面的設(shè)置,maven 從pom.xml 文件開始,按照助約定的工程目錄編譯,測試,打包,部署,發(fā)布項(xiàng)目。

第一個maven 工程

按照如下步驟,實(shí)現(xiàn)第一個maven 項(xiàng)目,以 maven 推薦的約定方式創(chuàng)建目錄,類文件。

某個目錄中創(chuàng)建文件夾Hello

在Hello 中創(chuàng)建子目錄 src

拷貝pom.xml 到Hello 目錄和src 是同級放置的。

進(jìn)入src 目錄,創(chuàng)建main, test 目錄

進(jìn)入main 目錄,創(chuàng)建 java,resources 目錄。

進(jìn)入java 目錄,創(chuàng)建目錄 com/bjpowernode/

在 com/bjpowernode/目錄下創(chuàng)建 HelloMaven.java 文件,定義 int addNumber(int n1,n2){ return n1+n2};

定義public static void main(String args[]) { System.out.prinltn(“Hello Manven”); //也可以調(diào)用 addNumber()方法 }

進(jìn)入到Hello 目錄在,執(zhí)行 mvn compile

進(jìn)入到target/classes 目錄執(zhí)行 java

com.bjpowernode.HelloMaven

pom 文件

即Project Object Model 項(xiàng)目對象模型。Maven 把一個項(xiàng)目的結(jié)構(gòu)和內(nèi)容抽象成一個模型,在xml 文件中進(jìn)行聲明,以方便進(jìn)行構(gòu)建和描述, pom.xml 是 Maven 的靈魂。所以,maven 環(huán)境搭建好之后,所有的學(xué)習(xí)和操作都是關(guān)于pom.xml 的。

pom.xml 初識:


<上一頁  1  2  
聲明: 本文由入駐維科號的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無評論

暫無評論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯
x
*文字標(biāo)題:
*糾錯內(nèi)容:
聯(lián)系郵箱:
*驗(yàn) 證 碼:

粵公網(wǎng)安備 44030502002758號