Java maven詳細介紹
maven
什么是maven
Maven 是一個項目管理工具,最主要的作用就是管理jar包,他可以把jar統(tǒng)一放到倉庫中,項目直接引用即可,而不用在每個項目里都放jar包。同時maven也可以對項目進行構建編譯等
一個Maven項目里會有一個pom.xml,他負責管理該項目的jar包的引用
Maven安裝目錄下的conf\settings.xml是maven的配置文件
倉庫的種類
統(tǒng)一存放jar包的地方稱為倉庫,倉庫分為三種:
1.本地倉庫:即在本地的倉庫,可以通過
2.私服:通常是公司里的服務器上所建立的倉庫,其一個項目所用的jar包,便于公司管理
3.中央倉庫:是在網上的一個倉庫,其存放了所有的jar包,最全最大
私服和中央倉庫可以統(tǒng)稱為遠程倉庫
他們三者的關系如下:
1.當本地倉庫有該jar包時,直接使用
2.當本地倉庫沒有,但私服有時,從私服下載到本地
3.當本地倉庫和私服都沒有時,私服從中央倉庫下載,緩存在私服上之后,再提供給本地倉庫下載。
私服jar包不僅可以從中央倉庫下載,還可以自己上傳jar包
參考網址
倉庫的配置
配置文件在Maven安裝目錄下的conf\settings.xml,下面的配置都是寫在該文件下的settings標簽內的
本地倉庫配置
本地倉庫默認存放在用戶目錄下的.m2/repository/
如果想要修改,需要修改配置文件,直接寫在settings標簽下的localRepository標簽內即可
<settings> <localRepository>D:\maven\repository</localRepository> </settings>
私服配置
可以參考https://www.cnblogs.com/qdhxhz/p/9808642.html
中央倉庫配置
在<mirrors>標簽下配置,一個<mirror>標簽表示一個中央倉庫。
在下載時,優(yōu)先級自上而下降低,即先在第一個中央倉庫中找,如果找不到,就到第二個倉庫中找
例如
<mirrors> <!-- 阿里云倉庫 --> <mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf> <name>阿里云公共倉庫</name> <url>https://maven.aliyun.com/repository/public</url> </mirror> <mirror> <id>jboss-public-repository-group</id> <mirrorOf>central</mirrorOf> <name>JBoss Public Repository Group</name> <url>http://repository.jboss.org/nexus/content/groups/public</url> </mirror> <!-- 中央倉庫1 --> <mirror> <id>repo1</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://repo1.maven.org/maven2/</url> </mirror> <!-- 中央倉庫2 --> <mirror> <id>repo2</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://repo2.maven.org/maven2/</url> </mirror> </mirrors>
maven標準目錄結構

常用命令
maven的命令都是用mvn開頭的,下面所有命令都省略開頭的mvn
complie:編譯項目,不包括測試文件clean:清除編譯等信息test:編譯項目,包括測試文件package:將項目打包,其打包的格式由pom.xml中的<packaging>war</packaging>決定,常用的也就jar和war兩種格式install:將項目打包,并添加到本地倉庫
maven項目的生命周期
- 編譯:對應
complie - 測試:對應
test - 打包:對應
package - 安裝:對應
install - 發(fā)布:對應
deploy
這幾個稱為默認生命周期,而clean命令就是清除生命周期,還有一個站點生命周期(不常用,不再說明)
注意:執(zhí)行命令時,會自動執(zhí)行之前階段的命令,例如當執(zhí)行package時,會自動先執(zhí)行complie和test
pom.xml
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-K1aQrAv1-1630849397707)(assets/image-20200808124851325.png)]](http://img.jbzj.com/file_images/article/202109/2021090810301224.jpg)
依賴適用域
在dependency下添加scope標簽,其表示當前依賴在什么時候生效,其常用值如下
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-PNFzrxRK-1630849397712)(assets/image-20200808135756731.png)]](http://img.jbzj.com/file_images/article/202109/2021090810301225.jpg)
總結
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!
相關文章
SpringBoot2.7?WebSecurityConfigurerAdapter類過期配置
這篇文章主要為大家介紹了SpringBoot2.7中WebSecurityConfigurerAdapter類過期應該如何配置,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06
VSCode新手教程之配置Java環(huán)境的詳細教程
這篇文章主要給大家介紹了關于VSCode新手教程之配置Java環(huán)境的詳細教程,工欲善其事必先利其器,想要工作順利我們先搭建好JAVA的開發(fā)環(huán)境,需要的朋友可以參考下2023-10-10

