主頁 > 後端開發 > Maven的核心解壓與配置

Maven的核心解壓與配置

2023-05-26 07:29:23 後端開發

?

Maven的核心解壓與配置

@

目錄
  • Maven的核心解壓與配置
    • 1. Maven 官網地址
    • 2. 解壓Maven核心程式
    • 3. 指定本地倉庫
    • 4. 配置阿里云提供的鏡像倉庫
    • 5. 配置 Maven 工程的基礎 JDK 版本
    • 6. 配置環境變數
    • 7. 最后:感謝

1. Maven 官網地址

首頁:Maven – Welcome to Apache Maven(opens new window)

在這里插入圖片描述

下載頁面:

Maven – Download Apache Maven(opens new window)

在這里插入圖片描述

下載鏈接:https://maven.apache.org/download.cgi

2. 解壓Maven核心程式

和Tomcat 是一樣的,將下載的安裝包,解壓便是下載了,需要注意的是:解壓的路徑不可以有中文,以及空格

核心程式壓縮包:apache-maven-3.8.4-bin.zip,解壓到非中文、沒有空格的目錄,例如:

在這里插入圖片描述

3. 指定本地倉庫

解壓安裝到指定要求的目錄中以后,我們需要對 Maven進行一個配置,

而關于 Maven 的配置,都是在其中解壓安裝的 Mavenconf/settings.xml 這個 xml 檔案當中,該 settings.xml是 Maven的核心組態檔,基本上所有關于 Maven的配置都是在這個檔案配置的,如下是:

在這里插入圖片描述

這里我使用的是 Notepad++ 打開的,大家可以使用其他的,編譯應用打開,不建議使用記事本打開,因為記事本,沒有代碼高亮,如何出錯,
在這里插入圖片描述

配置本地倉庫:

所謂的本地倉庫:就是一個關于 Maven的一些依賴的jar,war 等等的安裝位置,類似于我們運用 Git 工具進行一個版本控制的本地倉庫,

本地倉庫默認值:用戶家目錄/.m2/repository,由于本地倉庫的默認位置是在用戶的家目錄下,而家目錄往往是在 C 盤,也就是系統盤,將來 Maven 倉庫中 jar 包越來越多,倉庫體積越來越大,可能會拖慢 C 盤運行速度,影響系統性能,所以建議將 Maven 的本地倉庫放在其他盤符下,

對于:Maven的本地倉庫的配置要運用的是:<localRepositoryXXX</localRepository> 這個標簽,如下,我們可以看到,在Maven 當中的 settings.xml 組態檔當中是被其默認注釋掉了,

在這里插入圖片描述

我們只需要將其復制出來,并把其中注釋去了,在其中配置好我們本地倉庫的路徑就可以了,如下:

在這里插入圖片描述

上面配置的路徑對于的檔案不存在的話,等執行構建命令時 Maven 會自行創建出來的,當然,為了防止出錯,什么權限不足等等問題,你也可以先創建出來,一般都是可以自行創建出來的,

注意: 該配置的本地倉庫的路徑,不可以有中文,也不可以有空格,要用全英文字母,

配置方式如下:

<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">
  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->
    <!--配置 Maven的本地倉庫-->
    <!-- 這個目錄可以等執行構建命令時 Mavnen 自行創建出來-->
  <localRepository>G:\devData\maven-repository</localRepository>

本地倉庫這個目錄,我們手動創建一個空的目錄即可,記住:一定要把 localRepository 標簽從注釋中拿出來,注意:本地倉庫本身也需要使用一個非中文、沒有空格的目錄,

4. 配置阿里云提供的鏡像倉庫

配置好 Maven的本地倉庫接下來就是,配置 Mavne 的鏡像倉庫了

所謂的鏡像倉庫: 主要就是對于,我們訪問國外的一些資訊資源過慢,而本國對其資訊資源進行一個拷貝,如果我們下載國外的資源速度比較慢的時候,我們可以通過找到其鏡像倉庫,通過本國的鏡像倉庫中找到其對于的資源,進行一個下載,

什么我們訪問國外的資源比較慢:因為距離過遠了,光纜可能走的是地下的,又走海上的等等,距離過遠,還可能被各種環境因素影響到,

而我們的 Maven 下載的 jar 包資源,默認訪問就是國外的中央倉庫(注意:在Maven 當中,中央倉庫就只有一個,),因為 Maven國外開發的嗎?而國外網站速度很慢,所以這里,我們改成阿里云提供的鏡像倉庫,訪問國內網站,可以讓 Maven 下載 jar 包的時候速度更快,注意:這里我們改的只是為,中央倉庫配置一個備用,并不是修改了中央倉庫,中央倉庫還是國外的,當中央倉庫無法訪問到的時候,走的,訪問的就是我們配置的鏡像倉庫了,

配置Maven的鏡像倉庫需要使用到的標簽是:<mirror>XXXX</mirror> 需要注意的一點就是:該標簽是在:<mirrors></mirrors> 標簽定義的,如下:Maven 默認是注釋掉了的,

在這里插入圖片描述

如下就是阿里云提供的鏡像倉庫,大家復制,粘貼過去就好了,注意該 標簽是在 標簽下的,

將下面 mirror 標簽整體復制到 settings.xml 檔案的 mirrors 標簽的內部,

  <mirror>
    <id>nexus-aliyun</id>
    <mirrorOf>central</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
  </mirror>

在這里插入圖片描述

5. 配置 Maven 工程的基礎 JDK 版本

Maven 是由 java程式撰寫的,需要通過JDK編譯,啟動運行,

這里我們需要配置以下,Maven 運行編譯的 JDK版本,盡量如自己安裝的,JDK版本對應上就可以了,

如果按照默認配置運行,Java 工程使用的默認 JDK 版本是 1.5,而我們熟悉和常用的是 JDK 1.8 版本,修改配置的方式是:

使用 <profile>XXX</profile>標簽進行配置,默認Maven是將其注釋掉了,如下:

在這里插入圖片描述

注意:該標簽是在 內的,不要放錯位置了如下:
在這里插入圖片描述

  <profile>
    <id>jdk-1.8</id>
    <activation>
    <activeByDefault>true</activeByDefault>
    <jdk>1.8</jdk>
    </activation>
    <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
    </properties>
  </profile>

6. 配置環境變數

Maven 是一個用 Java 語言開發的程式,它必須基于 JDK 來運行,所以,我們需要先將 JDK的環境變數配置好,這里我就不多說明了,因為這里我們只要將的是 Maven

我們可以先檢查一下 java的環境變數是否存在問題:使用命令 java -version, 如下,我這里的 java 環境變數是沒有問題的,

在這里插入圖片描述

下面我們來配置:Maven 的環境變數:

點擊系統變數,點擊新建:

在這里插入圖片描述

在這里插入圖片描述

變數名: MAVEN_HOME
變數值: G:\dev\apache-maven-3.8.8

注意:這里的路徑是 Maven 安裝路徑當中的 bin 目錄的上一層,如下圖:

在這里插入圖片描述

后再配置 PATH

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

%MAVEN_HOME%\bin

配置好以后,注意要點擊 三個確定 ,一個都不能少,

配置環境變數的規律:

XXX_HOME 通常指的都是 bin 目錄的上一級目錄,

PATH的配置一般都是再上次配置的 XXX_HOME 的變數名,加上兩個% 百分號,以及bin ,比如%XXX_HOME%\bin

測驗,我們的Maven 是否安裝成功:

打開 命令列視窗 Win + R, ——> cmd ,如下有版本資訊顯示,基本上就沒有什么問題了,

mvn -v # mvn 表示的是 Maven的簡寫

在這里插入圖片描述

7. 最后:感謝

該文章參考了,如下博主的分享,我們再此,真誠的感謝博主的技術的熱情的分享,

????????????????感謝如下博主的分享 ????????????????

【1】:兵器|代碼重工

在這里插入圖片描述

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/553403.html

標籤:其他

上一篇:AQS原始碼解讀----AbstractQueuedSynchronizer

下一篇:返回列表

標籤雲
其他(159691) Python(38169) JavaScript(25452) Java(18129) C(15231) 區塊鏈(8268) C#(7972) AI(7469) 爪哇(7425) MySQL(7211) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5873) 数组(5741) R(5409) Linux(5341) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4576) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2434) ASP.NET(2403) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) .NET技术(1976) 功能(1967) Web開發(1951) HtmlCss(1944) C++(1922) python-3.x(1918) 弹簧靴(1913) xml(1889) PostgreSQL(1878) .NETCore(1861) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Maven的核心解壓與配置

    ? # Maven的核心解壓與配置 @[toc] ## 1. Maven 官網地址 首頁:[Maven – Welcome to Apache Maven(opens new window)](https://maven.apache.org/) ![在這里插入圖片描述](https://img20 ......

    uj5u.com 2023-05-26 07:29:23 more
  • AQS原始碼解讀----AbstractQueuedSynchronizer

    36 package cn.com.pep; 37 import java.util.concurrent.TimeUnit; 38 import java.util.concurrent.locks.AbstractOwnableSynchronizer; 39 import java.util. ......

    uj5u.com 2023-05-26 07:28:40 more
  • < Python全景系列-7 > 提升Python編程效率:模塊與包全面解讀

    Python全景系列的第七篇,本文將深入探討Python模塊與包的基本概念,使用方法以及其在實際專案中的應用。我們也會揭示一些鮮為人知,卻又實用的技術細節。 ......

    uj5u.com 2023-05-26 07:28:06 more
  • Netty實戰(三)

    [toc](目錄) # 一、Channel、EventLoop 和 ChannelFuture 上一篇博文我們在構建服務端和客戶端中出現了一些新的類,可能有些同學還有些不了解它們的具體功能。沒關系,接下來我們對于 Channel、EventLoop 和 ChannelFuture 類進行的討論增添更 ......

    uj5u.com 2023-05-25 12:11:19 more
  • MyBatis體系筆記(未完結)

    MyBatis 什么是MyBatis MyBatis是優秀的持久層框架 MyBatis使用XML將SQL與程式解耦,便于維護 MyBatis學習簡單,執行高效,是JDBC的延伸 1.MyBatis開發流程 引入MyBatis依賴 創建核心組態檔 創建物體(Entity)類 創建Mapper映射檔案 ......

    uj5u.com 2023-05-25 11:58:15 more
  • springboot~統一處理日期請求引數java.utils.Date和java.time.Lo

    日期型別的引數在從前端通過url引數傳遞到后端時,它會被進行格式化,如果格式化失敗會出現400的錯誤,像日期格式默認會使用yyyy/MM/dd的格式,如果希望自己去個性化配置,我們可以通過實作WebMvcConfigurer介面的addFormatters方法來完成。 # java.time.Loc ......

    uj5u.com 2023-05-25 11:38:09 more
  • JavaWeb編程面試題——導航

    面試題==知識點,這里所記錄的面試題并不針對于面試者,而是將這些面試題作為技能知識點來看待。不以刷題進大廠為目的,而是以學習為目的。這里的知識點會持續更新,目錄也會隨時進行調整。 ......

    uj5u.com 2023-05-25 11:37:48 more
  • spring-transaction原始碼分析(5)TransactionInterceptor事務攔

    spring-tx的事務攔截邏輯在TransactionInterceptor類,本文將詳細分析其實作方式。 # 事務攔截器TransactionInterceptor spring-tx的事務攔截邏輯在TransactionInterceptor類,它實作了MethodInterceptor介面。 ......

    uj5u.com 2023-05-25 11:37:32 more
  • JavaWeb編程面試題——Spring Framework

    面試題==知識點,這里所記錄的面試題并不針對于面試者,而是將這些面試題作為技能知識點來看待。不以刷題進大廠為目的,而是以學習為目的。這里的知識點會持續更新,目錄也會隨時進行調整。 ......

    uj5u.com 2023-05-25 11:37:13 more
  • Netty實戰(三)

    [toc](目錄) # 一、Channel、EventLoop 和 ChannelFuture 上一篇博文我們在構建服務端和客戶端中出現了一些新的類,可能有些同學還有些不了解它們的具體功能。沒關系,接下來我們對于 Channel、EventLoop 和 ChannelFuture 類進行的討論增添更 ......

    uj5u.com 2023-05-25 11:35:12 more