自動化構建工具Maven:專注服務Java平臺項目構建
Maven 核心概念
Maven能夠實現(xiàn)自動化構建是和它的內部原理分不開的,這里我們從Maven的九個核心概念入手,看看Maven是如何實現(xiàn)自動化構建的?
①POM
②約定的目錄結構
③坐標
④依賴管理
⑤倉庫管理
⑥生命周期
⑦插件和目標
⑧繼承
⑨聚合
Maven特點
那么,Maven 和 Ant 有什么不同呢?
在回答這個問題以前,首先要強調一點:Maven 和 Ant 針對構建問題的兩個不同方面。Ant 為 Java 技術開發(fā)項目提供跨平臺構建任務。Maven 本身描述項目的高級方面,它從 Ant 借用了絕大多數(shù)構建任務。因此,由于 Maven 和 Ant代表兩個差異很大的工具。所以接下來只說明這兩個工具的等同組件之間的區(qū)別,如表 1 所示。
Maven是一個項目管理工具,它包含了一個項目對象模型 (Project Object Model),一組標準集合,一個項目生命周期(Project Lifecycle),一個依賴管理系統(tǒng)(Dependency Management System),和用來運行定義在生命周期階段(phase)中插件(plugin)目標(goal)的邏輯。當你使用Maven的時候,你用一個明確定義的項目對象模型來描述你的項目,然后Maven可以應用橫切的邏輯,這些邏輯來自一組共享的(或者自定義的)插件。
Maven 有一個生命周期,當你運行 mvn install 的時候被調用。這條命令告訴 Maven 執(zhí)行一系列的有序的步驟,直到到達你指定的生命周期。遍歷生命周期旅途中的一個影響就是,Maven 運行了許多默認的插件目標,這些目標完成了像編譯和創(chuàng)建一個 JAR 文件這樣的工作。
此外,Maven能夠很方便的幫你管理項目報告,生成站點,管理JAR文件,等等。
安裝 Maven 環(huán)境
1、確保安裝了java 環(huán)境:maven 本身就是java 寫的,所以要求必須安裝JDK。
查看java 環(huán)境變量:echo %JAVA_HOME%
2、下載并解壓maven 安裝程序:
maven.apache.org/download.cg…
3、配置 Maven 的環(huán)境變量:
MAVEN_HOME=d:/apache-maven-3.3.9 或 者M2_HOME=d:/apache-maven-3.3.9 path=%MAVEN_HOME%/bin; 或者%M2_HOME%/bin;
4、驗證是否安裝成功: mvn –v
Maven 的核心概念
Maven 工程約定目錄結構
maven 中約定的目錄結構:
Hello
|---src
|---|---main
|---|---|---java
|---|---|---resources
|---|---test
|---|---|---java
|---|---|---resources
|---pom.xml
說明:
Hello:根目錄,也就是工程名
src:源代碼
main:主程序
java:主程序的java 源碼
resources:主程序的配置文件
test:測試程序
java:測試程序的java 源碼
resources:測試程序的配置文件
pom.xml:Maven工程的核心配置文件。
一般情況下,我們習慣上采取的措施是:約定>配置>編碼
maven 的pom.xml 記錄的關于構建項目的各個方面的設置,maven 從pom.xml 文件開始,按照助約定的工程目錄編譯,測試,打包,部署,發(fā)布項目。
第一個maven 工程
按照如下步驟,實現(xiàn)第一個maven 項目,以 maven 推薦的約定方式創(chuàng)建目錄,類文件。
某個目錄中創(chuàng)建文件夾Hello
在Hello 中創(chuàng)建子目錄 src
拷貝pom.xml 到Hello 目錄和src 是同級放置的。
進入src 目錄,創(chuàng)建main, test 目錄
進入main 目錄,創(chuàng)建 java,resources 目錄。
進入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”); //也可以調用 addNumber()方法 }
進入到Hello 目錄在,執(zhí)行 mvn compile
進入到target/classes 目錄執(zhí)行 java
com.bjpowernode.HelloMaven
pom 文件
即Project Object Model 項目對象模型。Maven 把一個項目的結構和內容抽象成一個模型,在xml 文件中進行聲明,以方便進行構建和描述, pom.xml 是 Maven 的靈魂。所以,maven 環(huán)境搭建好之后,所有的學習和操作都是關于pom.xml 的。
pom.xml 初識:
請輸入評論內容...
請輸入評論/評論長度6~500個字
最新活動更多
-
10月31日立即下載>> 【限時免費下載】TE暖通空調系統(tǒng)高效可靠的組件解決方案
-
即日-11.13立即報名>>> 【在線會議】多物理場仿真助跑新能源汽車
-
11月28日立即報名>>> 2024工程師系列—工業(yè)電子技術在線會議
-
12月19日立即報名>> 【線下會議】OFweek 2024(第九屆)物聯(lián)網(wǎng)產業(yè)大會
-
即日-12.26火熱報名中>> OFweek2024中國智造CIO在線峰會
-
即日-2025.8.1立即下載>> 《2024智能制造產業(yè)高端化、智能化、綠色化發(fā)展藍皮書》
推薦專題
- 高級軟件工程師 廣東省/深圳市
- 自動化高級工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級銷售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結構工程師 廣東省/深圳市