1.1 什麼是 Mavencss
Maven 的正確發音是[ˈmevən],而不是「馬瘟」以及其餘什麼瘟。Maven 在美國是一個口語化的詞
語,表明專家、內行的意思。
一個對 Maven 比較正式的定義是這麼說的:Maven 是一個項目管理工具,它包含了一個項目對象模
型 (POM:Project Object Model),一組標準集合,一個項目生命週期(Project Lifecycle),一個依賴管
理系統(Dependency Management System),和用來運行定義在生命週期階段(phase)中插件(plugin)目標
(goal)的邏輯。java
Maven 是項目管理工具 對軟件項目提供構建與依賴管理web
Maven是Apache下的Java開源項目spring
1.2Maven 核心特性apache
項目設置遵循統一的規則,保證不一樣開發環境的兼容性服務器
強大的依賴管理,項目依賴組件自動下載、自動更新app
可擴展的插件機制,使用簡單,功能豐富webapp
Maven 的依賴管理:傳統工程jar包放在項目中,maven開發的工程根據jar的座標找到jar倉庫。maven
倉庫檢索網站https://search.maven.org/ide
項目的一鍵構建:咱們的項目,每每都要經歷編譯、測試、運行、打包、安裝 ,部署等一系列過程。指的是項目從編譯、測試、運行、打包、安裝 ,部署整個過程都交給 maven 進行管理,這個過程稱爲構建。
1.官網下載:Maven – Download Apache Maven
下載第二個
2.解壓到D盤
3.添加環境變量
變量名:MEVEN_HOME
變量值:D:\apache-maven-3.8.1
在Path中添加:%MANEN_HOME%\bin
確保環境變量中有JAVAHOME
4.打開命令行窗口 輸入mvn -v
src/main/java目錄 | 核心代碼 |
src/main/resources | 配置文件部分 |
src/test/java目錄 | 測試代碼部分,如 JUnit 測試類 |
src/test/resources | 測試配置文件,如 spring, hibernate 配置文件 |
src/main/webapp | 頁面資源 ,js,css,圖片等等 |
target | 項目輸出的目錄,用於存儲jar,war文件 |
target/classes | 字節碼(.class)的編譯輸出目錄 |
pom.xml | maven 項目核心配置文件 |
命令 | 用途 |
mvn archetype:generate | 建立Maven工程結構 |
mvn compile | 編譯源代碼 |
mvn test | 執行測試用例 |
mvn clean | 清除產生的項目 |
mvn package | 項目打包 |
mvn install | 安裝至本地倉庫 |
1.clean
clean 是 maven 工程的清理命令,執行 clean 會刪除 target 目錄及內容。
2.compile
compile 是 maven 工程的編譯命令,做用是將 src/main/java 下的文件編譯爲 class 文件輸出到 target
目錄下。
3.test
test 是 maven 工程的測試命令 mvn test,會執行 src/test/java 下的單元測試類。也會編譯src/main/java的代碼
4.package
package 是 maven 工程的打包命令,對於 java 工程執行 package 打成 jar 包,對於 web 工程打成 war
包。
5.install
install 是 maven 工程的安裝命令,執行 install 將 maven 打成 jar 包或 war 包發佈到本地倉庫。會執行compile,test,package,把項目放在了本地倉庫
項目對象模型 (Project Object Model)
一個 maven 工程都有一個 pom.xml 文件,經過 pom.xml 文件定義項目的座標、項目依賴、項目信息、
插件目標等。
賴管理系統(Dependency Management System)
經過 maven 的依賴管理對項目所依賴的 jar 包進行統一管理。
好比:項目依賴 junit4.9,經過在 pom.xml 中定義 junit4.9 的依賴即便用 junit4.9,以下所示是 junit4.9
的依賴定義:
<!-- 依賴關係 --> <dependencies> <!-- 此項目運行使用 junit,因此此項目依賴 junit --> <dependency> <!-- junit 的項目名稱 --> <groupId>junit</groupId> <!-- junit 的模塊名稱 --> <artifactId>junit</artifactId> <!-- junit 版本 --> <version>4.9</version> <!-- 依賴範圍:單元測試時使用 junit --> <scope>test</scope> </dependency>
GroupId:機構或者團體的英文,採用 逆向域名 形式書寫
ArtifactId:項目名稱 說明其用途,例如:cms,oa...
Version: 版本號,通常採用 版本+單詞 形式 例如1.1.0.RELEASE
1 打開FileSettings 配置 maven
在沒網時會加載本地的
2 idea 中建立一個 maven 骨架的 Java工程
3 idea 中建立一個 maven 骨架的 web工程
maven.aliyun.com 倉庫服務 (aliyun.com)
1.選擇public
2.在版本下添加依賴
<repositories> <repository> <!--建立私服--> <id>aliyun</id> <name>aliyun</name> <url>https://maven.aliyun.com/repository/public</url> </repository> </repositories>