maven核心概念
一.Maven核心概念

(1)pom:一個文件,名稱是pom.xml,pom翻譯過來叫做項目對象模型。Maven把一個項目當作一個模型使用。控制maven構建項目的過程,管理jar依賴。
(2)約定的目錄結構:maven項目的目錄和文件的位置都是規定的。
(3)坐標:是一個唯一的字符串,用來表示資源的。
(4)依賴管理:管理你的項目可以使用jar文件
(5)倉庫管理(了解):你的資源存放的位置
(6)生命周期(了解):maven工具構建項目的過程,就是生命周期
(7)插件和目標(了解):執行maven構建的時候用的工具是插件。
(8)繼承
(9)聚合
二.maven約定的目錄結構
每一個maven項目在磁盤中都是一個文件夾
main是放主程序java代碼和配置文件
java是放你的程序包和包中的java文件
resources是放你的java程序中要使用的配置文件
test是放測試程序代碼和文件的(可以沒有),test下的java和resources文件夾具有相同功能。
pom.xml是maven的核心文件(maven項目必須有)
三.maven編譯項目
在項目的根目錄之下,src目錄之下(xml文件目錄中,打開cmd,執行mvn compile)
mvn compile 編譯src/main目錄下的所有java文件
1.為什么首次編譯需要下載東西
(1)為什么要下載
maven工具執行的操作需要很多插件(java類--jar文件)完成的
(2)下載什么東西了
jar文件--叫做插件--插件是完成某些功能
(3)下載的東西存放到哪里了。
默認倉庫(本機倉庫)
默認位置C:\Users\(登錄操作系統的用戶名)\.m2\repository
中央倉庫的地址:https://repo.maven.apache.org
執行mvn compile,結果是在項目的根目錄下生成target目錄(結果目錄)
maven編譯的java程序,最后的class文件都放在target目錄中。
四.如何設置本機存放資源的目錄位置(設置本機倉庫):
1.修改maven的配置文件,maven安裝目錄/conf/settings.xml
先備份settings.xml
2.修改
修改本地倉庫地址:把
五.倉庫概念
1.倉庫是什么:
倉庫是存放東西的,存放maven使用的jar和我們項目使用的jar
maven使用的插件(各種jar)
我項目使用的jar(第三方的工具)
2.倉庫的分類
(1)本地倉庫,就是你的個人計算機的文件夾,存放各種jar
(2)遠程倉庫,在互聯網上的, 使用網絡才能使用的倉庫
中央倉庫:最權威的,所有的開發人員都共享使用的一個集中的倉庫
中央倉庫的鏡像:就是中央倉庫的備份,在各大洲,重要的城市都是鏡像。
私服:在公司內部,在局域網中使用的,不是對外使用的。
3.倉庫的使用
maven倉庫的使用不需要人為參與
如果開發人員需要使用mysql驅動--maven首先查本地倉庫--私服--鏡像--中央倉庫。
六.pom文件分析
1.坐標
groupId:組織名,通常是公司或組織域名倒敘 + 項目名
artifactld:自定義模塊名,通常是工程名
version:自定義版本號
坐標在眾多的maven項目中可以唯一定位到某一個項目,坐標也決定著將來項目在倉庫中的路徑及名稱。
2.packaging
packaging:打包后壓縮文件的擴展名,默認是jar,web應用是war
packaging可以不寫,默認是jar
3.依賴(dependency)
一個maven項目正常運行需要其他項目的支持,maven會根據坐標自動到本地倉庫中進行查找,對于程序員自己的maven項目需要進行安裝,才能保存到倉庫中。
dependencies和dependency,相當于java代碼中的import。
你的項目中要使用的各種資源說明,比如我的項目要使用mysql驅動。
4.properties:設置屬性
5.build:
maven在進行項目的構建時,配置信息,例如指定java代碼使用的jdk版本。
6.parent:繼承
在maven中,如果多個模塊都需要聲明相同的配置,例如:groupId、version、有相同的依賴、或者相同的組件配置等,也有類似java的繼承機制,用parent聲明要繼承的父工程的pom配置。
7.modules:聚合
在maven的多模塊開發中,為了統一構建整個項目的所有模塊,可以提供一個額外的模塊,該模塊打包方式為pom,并且在其中使用modules聚合的其他模塊,這樣通過本模塊就可以一鍵自動識別模塊間的依賴關系來構建所有模塊,叫maven的聚合。
maven的生命周期,maven的命令,maven的插件
1.maven的生命周期:
就是maven構建項目的過程、清理、編譯、測試、報告、打包、安裝、部署
2.maven的命令:
maven獨立使用,通過命令,完成maven的生命周期的執行。
maven可以使用命令,完成項目的清理、編譯、測試等等。
maven常用命令
注意:打包只會打包main目錄下的
注意:執行以下命令必須在命令行進入pom.xml所在目錄。
清理
mvn clean
刪除target目錄
編譯主程序
mvn compile
會在當前目錄生成target目錄,存放主程序字節碼文件
編譯測試程序
mvn test-compile
會在當前目錄生成target目錄,存放編譯測試程序的字節碼
測試
mvn test
生成surefire-reporte,保存測試結果
打包主程序
mvn package
會編譯、編譯測試、測試。并按照pom文件打包jar包或者war包
打包主程序
mvn install
把本工程打包,按照本工程的坐標保存到本地倉庫中。
部署主程序
mvn deploy
把本工程打包,按照本工程保存到本地庫中。自動把項目部署到web容器中。
3.maven的插件:
maven命令執行時,完成功能的是插件,插件就是一些jar文件,一些類。
1)單元測試(測試方法):
用的junit,junit是一個專門測試的框架(工具)。
junit測試的內容:測試的是類中的方法,每一個方法都是獨立測試的,
方法是測試的基本單元。
maven借助單元測試,批量的測試你類中的大量方法是否符合預期的。
2)使用步驟
1.加入依賴,在pom.xml加入單元測試依賴
2.在maven項目中的src/test/java目錄下,創建測試程序。
測試類定義規則
推薦的創建類和方法的提示。
1.測試類的名稱:是Test+你要測試的類名
2.測試的方法名稱是:Test+方法名稱
例如:
你要測試:HelloMaven
創建測試類:TestHelloMaven
測試方法定義規則
1.方法是public的,必須的
2.方法沒有返回值,必須的
3.方法名稱是自定義的,推薦是Test+方法名稱
4.在方法的上面加入@Test
Java Maven
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。