Maven安裝與環境配置

首先我們先介紹一些關于Maven的知識,如果著急直接看下面的安裝教程。

目錄

Maven介紹

?Maven模型

?Maven倉庫

Maven安裝

下載

?安裝步驟


Maven介紹

Apache Maven是一個項目管理和構建工具,它基于項目對象模型(Project Object Model , 簡稱: POM)的概念,通過一小段描述信息來管理項目的構建、報告和文檔。官網

Maven的作用:

?Maven模型

  • 項目對象模型 (Project Object Model)
  • 依賴管理模型(Dependency)
  • 構建生命周期/階段(Build lifecycle & phases)

?1). 構建生命周期/階段(Build lifecycle & phases)

以上圖中藍色框起來的部分,就是用來完成標準化構建流程 。當我們需要編譯,Maven提供了一個編譯插件供我們使用;當我們需要打包,Maven就提供了一個打包插件供我們使用等。?

2). 項目對象模型 (Project Object Model)

以上圖中紫色框起來的部分屬于項目對象模型,就是將我們自己的項目抽象成一個對象模型,有自己專屬的坐標,如下圖所示是一個Maven項目:

坐標,就是資源(jar包)的唯一標識,通過坐標可以定位到所需資源(jar包)位置。

坐標的組成部分:

  • groupId: 組織名

  • arfitactId: 模塊名

  • Version: 版本號

3). 依賴管理模型(Dependency)?

以上圖中紫色框起來的部分屬于依賴管理模型,是使用坐標來描述當前項目依賴哪些第三方jar包。?

之前我們項目中需要jar包時,直接就把jar包復制到項目下的lib目錄,而現在我們只需要在pom.xml中配置依賴的配置文件即可。 而這個依賴對應的jar包其實就在我們本地電腦上的maven倉庫中。

?Maven倉庫

倉庫:用于存儲資源,管理各種jar包[本質就是一個目錄(文件夾),這個目錄被用來存儲開發中所有依賴(就是jar包)和插件]

Maven倉庫分為:

  • 本地倉庫:自己計算機上的一個目錄(用來存儲jar包)

  • 中央倉庫:由Maven團隊維護的全球唯一的。倉庫地址:https://repo1.maven.org/maven2/

  • 遠程倉庫(私服):一般由公司團隊搭建的私有倉庫

當項目中使用坐標引入對應依賴jar包后,

  1. 首先會查找本地倉庫中是否有對應的jar包

  • 如果有,則在項目直接引用
  • 如果沒有,則去中央倉庫中下載對應的jar包到本地倉庫
  1. 如果還可以搭建遠程倉庫(私服),將來jar包的查找順序則變為: 本地倉庫 --> 遠程倉庫--> 中央倉庫

這里需要強調的是,因為中央倉庫有很多人使用和其他原因下載新的依賴或jar包是非常緩慢,而私服(比如一個公司已經創建的)的已經從中央倉庫下好了,并且使用的人不多,下載會比較快。所以在下面我們會使用一下阿里云的私服。

Maven安裝

下載

下載地址根據自己的系統選擇適合的版本下載,下面是網盤安裝包。

通過網盤分享的文件:apache-maven-3.9.9.zip
鏈接: https://pan.baidu.com/s/1p1eDwSg2KZcdPLnJVYf0FA?pwd=mtti 提取碼: mtti?
--來自百度網盤超級會員v4的分享

?安裝步驟

Maven安裝配置步驟:

  1. 解壓安裝

  2. 配置倉庫

  3. 配置阿里云私服

  4. 配置Maven環境變量

?1). 解壓 apache-maven-3.9.4-bin.zip

建議解壓到沒有中文、特殊字符的路徑下。

  • bin目錄 : 存放的是可執行命令。(mvn 命令重點關注)

  • conf目錄 :存放Maven的配置文件。(settings.xml配置文件后期需要修改)

  • lib目錄 :存放Maven依賴的jar包。(Maven也是使用java開發的,所以它也依賴其他的jar包)

2). 配置本地倉庫?

在解壓的文件中新建一個目錄(本地倉庫,用來存儲jar包)

這里我創建的是mvn_repo目錄

進入mvn_repo目錄,復制該目錄地址,如:D:\Maven\apache-maven-3.9.9\mvn_repo

進入到conf目錄下修改settings.xml配置文件(使用vscode或其他能顯示注釋的方式打開),

?定義到五十多行的本地存儲庫(localRepository),默認的本地倉庫存儲在C盤不好,改成我們自定義的本地倉庫,在該注釋后加入下列語句,將中間的位置改成你剛復制的本地倉庫位置

<localRepository>D:\Maven\apache-maven-3.9.9\mvn_repo</localRepository>

如下:

3). 配置阿里云私服?

由于中央倉庫在國外,所以下載jar包速度可能比較慢,而阿里公司提供了一個遠程倉庫,里面基本也都有開源項目的jar包。

<mirrors>標簽下為其添加子標簽<mirror>

<mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>aliyunmaven</name><url>https://maven.aliyun.com/repository/public</url></mirror>

如下:?

保存退出。?

4). 配置環境變量

Maven環境變量的配置類似于JDK環境變量配置一樣

在系統變量處新建一個變量MAVEN_HOME。 MAVEN_HOME環境變量的值,設置為maven的解壓安裝目錄

在Path中進行配置。 PATH環境變量的值,設置為:

?%MAVEN_HOME%\bin

打開DOS命令提示符進行驗證,出現如圖所示表示安裝成功 。

mvn -v

在IDEA下集成Maven

進入IDEA的主菜單

?修改主路徑為你的Maven安裝路徑,和設置你定義的Maven設置文件地址,本地倉庫會根據你的設置文件自動修改,如果沒有更改則手動修改為你的本地倉庫文件

配置jre,這里選擇你自己的版本

配置字節碼版本

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

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

相關文章

【新能源汽車溫度采集與控制系統設計深度解析】

面向汽車行業研發與測試測量設備從業者的技術指南 一、硬件架構設計 新能源汽車的溫度采集與控制系統是保障電池、電機、電控等核心部件安全運行的核心技術之一。其硬件架構需兼顧高精度、抗干擾、可靠性與集成化&#xff0c;以下從信號調理電路、ADC模塊、隔離設計三個維度展…

AI Tokenization

AI Tokenization 人工智能分詞初步了解 類似現在這個&#xff0c;一格子 一格子&#xff0c;拼接出來的&#xff0c;一行或者一句&#xff0c;像不像&#xff0c;我們人類思考的時候組裝出來的話&#xff0c;并用嘴說出來了呢。

React(四)setState原理-性能優化-ref

setState詳解 實現原理 開發中我們并不能直接修改State來重新渲染界面&#xff1a; 因為修改State之后&#xff0c;希望React根據最新的State來重新渲染界面&#xff0c;但這種方式的修改React并不知道數據發生了變化&#xff1b; React并沒有類似于Vue2中的Object.defineP…

SSH密鑰認證 + 文件系統權限控制 + Git倉庫配置+封存與解封GIT倉庫

在本地服務器上實現多個用戶僅通過git push操作修改倉庫、禁止其他改寫方式的需求&#xff0c;可以通過以下步驟實現&#xff1a; 方法概述 通過SSH密鑰認證 文件系統權限控制 Git倉庫配置&#xff0c;確保用戶僅能通過git push命令提交修改&#xff0c;而無法通過直接操作服…

全文通讀:126頁華為IPD集成產品開發與DFX實戰【文末附可編輯PPT下載鏈接】

綁定資料內容: 12023華為流程體系及落地實施【108頁 PPT】.pptx22024版基于華為IPD與質量管理體系融合的研發質量管理【63頁】.pptx

//TODO 動態代理的本質?

待解決 //TODO 面試題 為啥mybatis的mapper只有接口沒有實現類&#xff0c;但它卻能工作&#xff1f;?(ai參考,待深究源碼) 1. 動態代理生成代理對象 MyBatis 使用 JDK 動態代理 為每個 Mapper 接口生成代理對象&#xff1a; ? 核心類&#xff1a;MapperProxy&#xff08;…

C++11中智能指針的使用(shared_ptr、unique_ptr、weak_ptr)

C11中智能指針的使用(shared_ptr、unique_ptr、weak_ptr) 一、shared_ptr原理 shared_ptr 是另一種智能指針&#xff0c;用于實現多個 shared_ptr 實例共享同一個對象的所有權。它通過內部的控制塊&#xff08;通常是一個包含計數器和指向對象的指針的結構&#xff09;來管理…

2024年認證杯SPSSPRO杯數學建模B題(第二階段)神經外科手術的定位與導航全過程文檔及程序

2024年認證杯SPSSPRO杯數學建模 B題 神經外科手術的定位與導航 原題再現&#xff1a; 人的大腦結構非常復雜&#xff0c;內部交織密布著神經和血管&#xff0c;所以在大腦內做手術具有非常高的精細和復雜程度。例如神經外科的腫瘤切除手術或血腫清除手術&#xff0c;通常需要…

嘗試在軟考62天前開始成為軟件設計師-信息系統安全

安全屬性 保密性:最小授權原則(能干活的最小權限)、防暴露(隱藏)、信息加密、物理保密完整性(防篡改):安全協議、校驗碼、密碼校驗、數字簽名、公證 可用性:綜合保障( IP過濾、業務流控制、路由選擇控制、審計跟蹤)不可抵賴性:數字簽名 對稱加密 DES :替換移位 3重DESAESR…

Rocky9.5基于sealos快速部署k8s集群

首先需要下載 Sealos 命令行工具&#xff0c;sealos 是一個簡單的 Golang 二進制文件&#xff0c;可以安裝在大多數 Linux 操作系統中。 以下是一些基本的安裝要求&#xff1a; 每個集群節點應該有不同的主機名。主機名不要帶下劃線。 所有節點的時間需要同步。 需要在 K8s …

G口服務器和普通服務器之間的區別

今天小編主要來為大家介紹一下G口服務器和普通服務器之間的區別&#xff01; 首先&#xff0c;從硬件配置上看&#xff0c;普通服務器通常都會配備中央處理器、內存和硬盤等基本的硬件配置&#xff0c;能夠適用于各種應用程序和服務&#xff1b;G口服務器除了基礎的硬件配置還增…

Cursor軟件如何刷新機器碼流程

一.退出Cursor軟件賬號 打開Cursor軟件&#xff0c;點擊設置-->General-->Account-->Log out,現將Cursor軟件上登錄的賬戶退出。 二.將Cursor官網上登錄的Cursor賬戶也清空掉 點擊頭像--> ACCOUNT SETTINGS -->Account-->Advanced-->Delete Account-->…

類與對象(中)(詳解)

【本節目標】 1. 類的6個默認成員函數 2. 構造函數 3. 析構函數 4. 拷貝構造函數 5. 賦值運算符重載 6. const成員函數 7. 取地址及const取地址操作符重載 1.類的6個默認成員函數 如果一個類中什么成員都沒有&#xff0c;簡稱為空類。 空類中真的什么都沒有嗎&…

開發語言漫談-groovy

groovy是一門腳本語言&#xff0c;在前期的腳本語言中簡單介紹了下。現在再深入介紹下&#xff0c;因為它是本平臺上選用的腳本語言。所謂腳本語言就是不用編譯&#xff0c;直接執行。這種特色非常適合做嵌入編程&#xff0c;即編即用。我們知道平臺后臺的業務開發語言是Java&a…

React+Ant Design的Layout布局實現暗黑模式切換

目錄 效果預覽完整代碼我遇到的BUG問題代碼BUG1&#xff1a;暗黑模式下內容區不變成深色BUG2&#xff1a;光亮模式下的左右區域是深色 補充知識ConfigProvider是什么&#xff1f;Ant Design中的theme如何使用&#xff1f;theme 配置的常見字段主題算法通過 useToken 獲取主題 效…

TCP 三次握手與四次揮手過程

TCP 作為一種面向連接的、可靠的傳輸層協議&#xff0c;其連接管理機制對于保障數據的可靠傳輸至關重要。 三次握手&#xff08;建立連接&#xff09; 三次握手是 TCP 建立連接時所采用的機制&#xff0c;其目的在于確保客戶端和服務器雙方都具備發送和接收數據的能力&#x…

【線程安全的單例模式和STL是否是線程安全/智能指針是否是線程安全】

文章目錄 一、單例模式的特點二、餓漢模式實現單例三、懶漢模式實現單例四、STL線程安全嗎&#xff1f;五、智能指針線程安全嗎&#xff1f; 一、單例模式的特點 一個類&#xff0c;只應該實例化了一個對象&#xff0c;就是單例。 二、餓漢模式實現單例 舉個餓漢模式的例子&…

力扣DAY24 | 熱100 | 回文鏈表

前言 簡單 √ 是反轉鏈表的衍生題&#xff0c;很快寫完了。不過沒考慮到恢復鏈表結構的問題。 題目 給你一個單鏈表的頭節點 head &#xff0c;請你判斷該鏈表是否為回文鏈表。如果是&#xff0c;返回 true &#xff1b;否則&#xff0c;返回 false 。 示例 1&#xff1a; 輸…

【GL010】C++

1.C中的const關鍵字有哪些用法&#xff1f; 1.修飾變量&#xff1a;表示變量的值不可修改。 const int a 10; 2.修飾指針&#xff1a; const int* p&#xff1a; // 指針指向的內容不可修改。 int* const p&#xff1a; // 指針本身不可修改。 const int* const…

金融行業 UE/UI 設計:解鎖高效體驗,重塑行業界面

在數字化浪潮中&#xff0c;金融行業的競爭日益激烈&#xff0c;用戶體驗&#xff08;UE&#xff09;和用戶界面&#xff08;UI&#xff09;設計成為企業脫穎而出的關鍵。蘭亭妙微憑借豐富的經驗和創新的方法&#xff0c;為金融行業打造了一套行之有效的 UE/UI 解決方案&#x…