Maven基礎教程

1 Maven簡介

2 Maven基礎概念

2.1 倉庫

2.2 坐標

3 依賴的相關知識點

4 生命周期與插件

5 使用Inteli idea完成第一個Maven項目


1 Maven簡介

????????Maven的本質就是一個項目管理工具,用于將項目開發和管理過程抽象成一個項目對象模型(project object model POM)

Maven的作用:

  • 項目構建:提供標準的、跨平臺的自動化項目構建方式
  • 依賴管理:方便便捷的管理項目以來的資源(jar包),避免資源之間的版本沖突問題
  • 統一開發結構:提供了標準統一的項目結構,如下圖:

Maven的下載安裝與配置:只需五步學會Maven的下載安裝【圖文詳解】_扎哇太棗糕的博客-CSDN博客

2 Maven基礎概念

2.1 倉庫

? ? ? ? 倉庫用于存儲資源,主要是各種jar包

?從上圖可知,倉庫可被分為兩種:本地倉庫和遠程倉庫

  • 本地倉庫:自己電腦上用于存儲資源的倉庫,可連接遠程倉庫來獲取資源
  • 遠程倉庫:非本機上的倉庫,為本地倉庫提供資源
    • 私服:一定范圍內存儲資源的倉庫,既可以從中央倉庫中獲取資源,也可以將各種途徑獲取到的不開源jar包存儲在私服里
    • 中央倉庫:由Maven的官方團隊來維護,存儲所有的資源,且里面的資源都是開源的

2.2 坐標

坐標就是Maven中用于描述倉庫中資源的位置

Maven坐標的主要組成

  • groupId:當前Maven項目隸屬組織的名稱,通常是域名的反寫(如org.mybatis)
  • artifactId:當前maven項目名稱,通常是模塊名(如hadoop-client)
  • version:項目版本號
  • packing:定義項目的打包方式(jar或者war等)

如何使用坐標導入依賴:??????從Maven中央倉庫網站下載jar包的兩種方式,將會伴隨java后端開發者的整個職業生涯_扎哇太棗糕的博客-CSDN博客

3 依賴的相關知識點

依賴的配置:

依賴配置就是在pom.xml文件中導入相關依賴,借以定位到具體的jar包。所有的依賴全都在pom.xml文件下面的<dependencies>標簽進行管理,使用<dependency>對每個jar包進行定位, 一個項目可以設置多個依賴,使用多個<dependency>標簽進行定位。

依賴的傳遞:

依賴傳遞就是兩個模塊之間進行調用,被調用模塊的依賴會被傳遞給調用模塊,調用模塊的pom.xml文件里需把被調用模塊當成是一個依賴進行導入

依賴傳遞時的沖突問題:

當調用模塊的依賴版本與被調用模塊的版本發生沖突時,遵循以下原則:

  • 路徑優先:不同模塊的不同層級,層級淺的依賴覆蓋層級深的
  • 聲明優先:不同模塊的相同層級沖突,先配置的覆蓋后配置
  • 后覆蓋前:同一個模塊內,后配置的覆蓋前面的

依賴傳遞時標簽里的設置:

隱藏依賴(被調用模塊的行為)

<optional>true</optional>

設置之后,調用模塊就看不見被調用模塊里面使用過這個依賴了?

排除依賴(?調用模塊的行為)

<exclusions><exclusion><groupId>log4j</groupId><artifactId>log4j</artifactId></exclusion>
</exclusions>

?設置之后,調用模塊里將不再使用被調用模塊的這個依賴

4 生命周期與插件

生命周期就是一個完整的Maven項目需要經歷所有的階段,就像是生命一樣無法跳過一個階段去執行下一個階段,主要有以下三套生命周期:

?插件就是要與生命周期的某個階段相綁定,在執行到相應生命周期時會去實行相綁定的插件的功能。

?Maven官網中給出的所有插件:https://maven.apache.org/plugins/index.html

插件目錄結構(以打jar包插件為例)

<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId><version>2.2.1</version><executions><execution><goals><goal>jar</goal></goals><phase>generate-test-resources</phase></execution></executions></plugin></plugins>
</build>

5 使用Inteli idea完成第一個Maven項目

參考博客:2021 使用IDEA創建并編寫你的第一個Maven項目【圖文詳解】_扎哇太棗糕的博客-CSDN博客

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/535139.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/535139.shtml
英文地址,請注明出處:http://en.pswp.cn/news/535139.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java實現編輯距離算法(levenshtein distance),計算字符串或者是文本之間的相似度【附代碼】

編輯距離算法其實就是&#xff0c;在規定的編輯操作(替換字符串、插入字符串、刪除字符串)中&#xff0c;經過幾步可以把一個字符串變成另一個字符串&#xff0c;而這個所需的步數就是你的編輯距離。 測試樣例&#xff1a; str1 abc str2 yabd 表里的每一個值都代表著將s…

【Java從入門到頭禿專欄 】(一)學在Java語法之前

目錄 1 初識Java 2 Java環境JDK 3 Java規范 1 初識Java Java是美國的sun(Stanford University Network)公司在1995年推出的一門計算機高級編程語言&#xff0c;雖然說當時參與開發Java的人員有好幾名&#xff0c;但是業內公認的Java之父是詹姆斯高斯林(James Gosling)。 Jav…

【Java從入門到頭禿專欄 】(二) 注釋 數據類型 變量 常量 關鍵字 標識符 運算符 輸入輸出

目錄 1 注釋 2 數據類型 3 變量與常量 4 關鍵字、標識符 5 運算符 6 鍵入值、輸出值 1 注釋 注釋就是寫在程序中對代碼進行解釋說明的文字&#xff0c;方便自己和其他人查看&#xff0c;以便大家更加容易理解程序。注釋雖然寫在程序中&#xff0c;但是并不參與程序的執行&#…

【Java從入門到頭禿專欄 】(三) 控制流程 Math Date DateFormat Calendar System BigDecimal Random

目錄 1 控制流程 2 Math類 3 Date類 4 DateFormat類 5 Calendar類(日歷類) 6 System類 7 BigDecimal類 8 Random類(隨機數) 1 控制流程 1.1 塊作用域 塊(即復合語句)就是指由若干條Java語句組成的語句&#xff0c;并用一條大括號括起來&#xff0c;并借此形式確定了變量…

IntelliJ IDEA最常用的一些快捷鍵,學會了室友還以為你在祖安對線

目錄 1 快速生成語句 1.1 main語句 1.2 輸出語句 1.3 流程控制語句 1.3.1 if判斷語句 1.3.2 while循環 1.3.3 for循環 1.3.4 數組、集合的循環操作 1.3.5 迭代器循環操作 1.4 對象實例化、定義變量 1.5 try-catch異常 2 快捷鍵 2.1 Ctrl系列 2.2 alt系列 2.2.1…

【Java從入門到頭禿專欄 6】語法篇(五) :多線程 線程池 可見、原子性 并發包 Lambda表達式

目錄 1 多線程 1.1 基本概念 1.2 創建線程的三種方式 1.4 解決線程安全問題的三種方法 1.5 線程通信 1.6 線程狀態 2 線程池 2.1線程池的概念 2.2 創建并提交任務 3 可見性 3.1 變量不可見性 3.2 變量不可見性的解決方案 4 原子性 4.1 原子性的概念 4.2 保證原…

【Java從入門到頭禿專欄 7】語法篇(六) :Lambda表達式(->) 方法引用(::) stream流

目錄 1 Lambda表達式( -> ) ? 2 方法引用( :: ) 3 Stream流 接下來介紹的三種語法叫&#xff1a;Lambda表達式 方法引用 stream流&#xff0c;這三種語法的使用要有特定條件&#xff0c;在一定條件下借助這三種語法可以使代碼十分簡單且優雅&#xff0c;但是不要舍本逐末…

【Java從入門到頭禿專欄 4】語法篇(三) :字符串 數組

目錄 1 String字符串 2 數組 1 String字符串 Java沒有內置的字符串類型&#xff0c;而是在Java類庫中提供了一個預定義類--String。 在Java中把每一個使用雙引號括起來的字符串都看做是String類的一個實例化對象。 String常被稱作是不可變字符串類型&#xff0c;那么有人就有…

【Java從入門到頭禿專欄 8】語法篇(七) :反射 動態代理 注解

目錄 1 反射機制 2 反射的應用&#xff1a;動態代理 3 注解 1 反射機制 反射機制(Reflect Machanism)&#xff0c;是指在程序運行期間借助Reflect API獲取任何類的內部信息&#xff0c;并能直接操作對象的內部屬性以及方法&#xff0c;Java本身而言是靜態語言但是由于Java反…

【SSM面向CRUD編程專欄 1】Spring簡介 xml配置文件 依賴注入 數據注入

&#x1f6eb;更多ssm知識見SSM_面向CRUD編程專欄 &#x1f695;本博客總結自黑馬程序員的ssm框架視頻 &#x1f692;博主對于該知識尚在學習階段 &#x1f684;如果發現存在問題請毫不吝嗇的指出 &#x1f680;&#x1f680;扎哇太棗糕的博客主頁&#x1f680;&#x1f680; 目…

【SSM面向CRUD編程專欄 2】Spring相關API 數據源(連接池)的配置 注解開發 整合junit

&#x1f6eb;更多ssm知識見SSM_面向CRUD編程專欄 &#x1f695;本博客總結自黑馬程序員的ssm框架視頻 &#x1f692;博主對于該知識尚在學習階段 &#x1f684;如果發現存在問題請毫不吝嗇的指出 &#x1f680;&#x1f680;扎哇太棗糕的博客主頁&#x1f680;&#x1f680; 目…

【SSM面向CRUD編程專欄 4】 Spring集成web環境 SpringMVC初識

&#x1f6eb;更多ssm知識見SSM_面向CRUD編程專欄 &#x1f695;本博客總結自黑馬程序員的ssm框架視頻 &#x1f692;博主對于該知識尚在學習階段 &#x1f684;如果發現存在問題請毫不吝嗇的指出 &#x1f680;&#x1f680;扎哇太棗糕的博客主頁&#x1f680;&#x1f680; ?…

IntelliJ IDEA里的項目搞崩了怎么辦,本地歷史版本回退拯救你崩潰的心靈

&#x1f4a5;寫在前面&#xff1a; 如果你還沒有讀過雨果的悲慘世界也沒有讀過余華的活著&#xff0c;那你可以看看我今天早上的經歷&#xff0c;如果不想聽我胡侃的話&#xff0c;直接進入正題&#xff1a; 目錄 本地歷史的強大 今天早上打開IntelliJ IDEA繼續ssm模塊的代碼練…

【SSM面向CRUD編程專欄 5】使用SpringMVC進行數據響應以及獲取請求數據

&#x1f6eb;更多ssm知識見SSM_面向CRUD編程專欄 &#x1f695;本博客總結自黑馬程序員的ssm框架視頻 &#x1f692;博主對于該知識尚在學習階段 &#x1f684;如果發現存在問題請毫不吝嗇的指出 &#x1f680;&#x1f680;扎哇太棗糕的博客主頁&#x1f680;&#x1f680; 目…

【SSM面向CRUD編程專欄 6】springMVC攔截器、異常處理 jdbcTemplate

&#x1f6eb;更多ssm知識見SSM_面向CRUD編程專欄 &#x1f695;本博客總結自黑馬程序員的ssm框架視頻 &#x1f692;博主對于該知識尚在學習階段 &#x1f684;如果發現存在問題請毫不吝嗇的指出 &#x1f680;&#x1f680;扎哇太棗糕的博客主頁&#x1f680;&#x1f680; 目…

【SSM面向CRUD編程專欄 7】springAop 事務控制

&#x1f6eb;更多ssm知識見SSM_面向CRUD編程專欄 &#x1f695;本博客總結自黑馬程序員的ssm框架視頻 &#x1f692;博主對于該知識尚在學習階段 &#x1f684;如果發現存在問題請毫不吝嗇的指出 &#x1f680;&#x1f680;扎哇太棗糕的博客主頁&#x1f680;&#x1f680; 目…

【SSM面向CRUD編程專欄 8】一篇博客快速上手使用MyBatis進行CRUD

&#x1f6eb;更多ssm知識見SSM_面向CRUD編程專欄 &#x1f695;本博客總結自黑馬程序員的ssm框架視頻 &#x1f692;博主對于該知識尚在學習階段 &#x1f684;如果發現存在問題請毫不吝嗇的指出 &#x1f680;&#x1f680;扎哇太棗糕的博客主頁&#x1f680;&#x1f680; 目…

【SSM面向CRUD編程專欄 9】SSM框架整合

&#x1f6eb;更多ssm知識見SSM_面向CRUD編程專欄 &#x1f695;本博客總結自黑馬程序員的ssm框架視頻 &#x1f692;博主對于該知識尚在學習階段 &#x1f684;如果發現存在問題請毫不吝嗇的指出 &#x1f680;&#x1f680;扎哇太棗糕的博客主頁&#x1f680;&#x1f680; 目…

三萬字速通SSM框架入門知識點,快速上手CRUD

&#x1f6eb;更多ssm知識見SSM_面向CRUD編程專欄 &#x1f695;本博客總結自黑馬程序員的ssm框架視頻 &#x1f692;博主對于該知識尚在學習階段 &#x1f684;如果發現存在問題請毫不吝嗇的指出 &#x1f680;&#x1f680;扎哇太棗糕的博客主頁&#x1f680;&#x1f680; 目…

無法在web.xml或使用此應用程序部署的jar文件中解析絕對uri:[http://java.sun.com/jsp/jstl/core]

問題簡介 本人是在進行一個ssm框架項目的編寫的時候&#xff0c;在數據庫中查詢到所有的商品信息并返回到頁面使用EL表達式進行展現&#xff0c;但是使用tomcat 9.0.58運行的時候報錯會出現以下報錯情況。 頁面報錯&#xff1a; 控制臺報錯&#xff1a; 解決方法 首先看看是不…