SpringBoot?Maven的操作與配置圖文教程
Maven
Maven是一個項目管理工具,通過pom.xml文件的配置獲取jar包,而不用手動去添加jar包;
(一)創(chuàng)建一個Maven項目
IDEA本身已經(jīng)集成了Maven,我們可以直接使用,無需安裝
以下截圖的idea版本為:2021.3.2,不同版本的 idea 界面展示會有所不同
File -> New-> Project



我們在運行代碼時,會自動添加一個 target 包,這個包存放的是我們編譯生成的代碼:

clean 操作,就可以把生成的 target 包清除

package是打包的意思,打包就是把所有的class文件,全部放在一起,打成jar包或者war包
- jar包 和 war包 都是一種壓縮文件
- jar 包就是把開發(fā)人員已經(jīng)寫好的一些代碼進行打包,打好的 jar 包就可以引入到其他項目中,也可以直接使用這些 jar 包中的類和屬性,另外也可以打成可執(zhí)行 jar 包,這樣的包就可以通過
java -jar命令來執(zhí)行 - war包可以理解為是一個web項目,里面是項目的所有東西,通常用于網(wǎng)站.


去Maven商店下載對應(yīng)的驅(qū)動包



在依賴中引入本地下載的jar包



(二)Maven Help 插件
當(dāng)項目比較復(fù)雜時,我們就會有Jar包沖突的問題,這時候就需要去解決依賴沖突;解決沖突之前,要先找到?jīng)_突,我們可以使用Maven Help插件來觀察包和包之間的依賴關(guān)系;

(三)Maven依賴管理
依賴配置
依賴:指當(dāng)前項目運行所需要的jar包;
比如前面學(xué)習(xí) JDBC 時,我們需要手動下載 mysql-connector-java 的包,并且添加到項目中;如果使用Maven,我們只需要在 pom.xml 中引入 mysql-connector-java 的依賴即可:
- ① 在pom文件dependencies標簽內(nèi),添加依賴坐標

- ② 點擊Maven刷新按鈕,引入新加入的依賴jar包
依賴傳遞
早期我們沒有使用 maven 時,向項目中添加依賴的 jar 包,需要把所有的 jar 包都復(fù)制到項目工程下
但現(xiàn)在使用 maven 的話,就可以避免管理所需依賴的關(guān)系。我們只需要在 pom 文件中,定義直接依賴就可以了,由于 maven 的依賴具有傳遞性,所以會自動把所依賴的其他 jar 包也一起導(dǎo)入;比如吃火鍋,現(xiàn)在我們可以點一個海底撈外賣,直接就把所有食材都送過來了,包括什么鍋,配什么菜比如去醫(yī)院看病,借助 “互聯(lián)網(wǎng)”,實現(xiàn)了信息共享,只需要帶上身份證,以往的病歷和檢查結(jié)果就都可以看到了.

如上圖,對于不同版本的 jar 包,默認生效最近距離的版本,如左右分支都有 jar C,默認先生效右分支的;
項目A通過 Maven 引入 JarA 時,會自動引入 JarB 和 Jar C;
JarA 和 項目B 就是 項目A 的直接依賴;JarB,Jar C 是間接依賴;
直接依賴:在當(dāng)前項目中通過依賴配置建立的依賴關(guān)系
間接依賴:被依賴的資源如果依賴其他資源,當(dāng)前項目間接依賴其他資源
我們打開依賴分析器,查看依賴之間的樹狀視圖,我們可以發(fā)現(xiàn),在導(dǎo)入 connector-j 包時,也會自動導(dǎo)入 protobuf 這個包,protobuf 是 connector-j 的直接依賴:
依賴排除
如果我們在 MavenDemo 項目中,不再需要某個jar包,就可以進行排除
進行依賴排除之前,可能需要下配置好對應(yīng)的setting中的鏡像節(jié)點
我們可以手動添加標簽,對不需要的依賴進行排除

此時,要排除的依賴中不需要寫版本號,只需要寫 groupId 和 artifactId:
可以先寫 artifactId,idea 會自動生成 groupId:
(四)Maven倉庫

這個代碼,我們稱之為"坐標",坐標是唯一的;
在Maven中,根據(jù)groupId、artifactId、version的配置,來唯一識別一個jar包,缺一不可.
當(dāng)我們在pom文件中配置完依賴之后,點擊刷新,Maven會根據(jù)坐標的配置,去倉庫里尋找Jar包,并把他下載下來,添加到項目中;這個Jar包下載的地方就稱為倉庫;
倉庫:用于存儲資源,管理各種jar包
Maven倉庫的本質(zhì)就是一個 目錄(文件夾),這個目錄被用來存儲開發(fā)中所有依賴(jar包,插件等)

Maven倉庫分為兩大類: 本地倉庫和遠程倉庫. 其中遠程倉庫又分為中央倉庫, 私服 和其他公共庫
本地倉庫
本地倉庫:自己計算機上的一個目錄(用來存儲jar包)
當(dāng)項目中引入對應(yīng)依賴jar包后,首先會查找本地倉庫中是否有對應(yīng)的jar包
- 如果有,則在項目直接引用
- 如果沒有,則去到中央倉庫中下載對應(yīng)的 jar 包到本地倉庫



中央倉庫
中央倉庫: maven軟件中內(nèi)置一個遠程倉庫地址,就是中央倉庫,服務(wù)于整個互聯(lián)網(wǎng);
由Maven 團隊維護,全球唯一.
可以通過https://mvnrepository.com 這個網(wǎng)站來查詢并下載;
我們可以把自己寫好的 Jar 包上傳到中央倉庫(具備一定的要求),也可以從中央倉庫下載Jar包;
查找Jar的坐標
- 訪問 https://mvnrepository.com/
- 進行查找, 比如mysql


粘貼到依賴中,如果代碼顯示紅色,則只需要點擊刷新,會自動下載好 jar 包,并且會在本地倉庫的,目錄中查找到下載好的 jar 包
私有服務(wù)器
當(dāng)Maven需要下載資源的時候
- 先從本地倉庫獲取,本地倉庫存在,則直接返回
- 如果本地倉庫沒有,就從私服請求,私服存在該資源,就直接返回
- 如果私服上不存在該資源,則從中央倉庫下載,中央倉庫不存在,就報錯了…
- 如果中央倉庫中存在,就先緩存在私服上之后,再緩存到本地倉庫里,再為Maven的下載請求,提供服務(wù);
- 私服是很多人在使用的,所以只需要第一個使用者下載一次就可以了

(五)配置國內(nèi)源
配置項目setting


總結(jié)
到此這篇關(guān)于SpringBoot Maven的操作與配置的文章就介紹到這了,更多相關(guān)SpringBoot Maven操作與配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot使用war包部署到外部tomcat過程解析
這篇文章主要介紹了springboot使用war包部署到外部tomcat過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-01-01
SpringBoot項目啟動錯誤:找不到或無法加載主類的幾種解決方法
本文主要介紹了SpringBoot項目啟動錯誤:找不到或無法加載主類的幾種解決方法,具有一定的參考價值,感興趣的可以了解一下2025-03-03
使用Spring?Boot+gRPC構(gòu)建微服務(wù)并部署的案例詳解
這篇文章主要介紹了使用Spring?Boot+gRPC構(gòu)建微服務(wù)并部署,Spring Cloud僅僅是一個開發(fā)框架,沒有實現(xiàn)微服務(wù)所必須的服務(wù)調(diào)度、資源分配等功能,這些需求要借助Kubernetes等平臺來完成,本文給大家介紹的非常詳細,需要的朋友參考下吧2022-06-06
java并發(fā)編程專題(一)----線程基礎(chǔ)知識
這篇文章主要介紹了java并發(fā)編程線程的基礎(chǔ)知識,文中講解非常詳細,幫助大家更好的學(xué)習(xí)JAVA并發(fā)編程,感興趣想學(xué)習(xí)JAVA的可以了解下2020-06-06
springsecurity自定義登錄頁面的實現(xiàn)示例
本文主要介紹了springsecurity自定義登錄頁面的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-09-09

