Maven的核心解壓與配置

来源:https://www.cnblogs.com/TheMagicalRainbowSea/archive/2023/05/25/17431009.html
-Advertisement-
Play Games

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


Maven的核心解壓與配置

@

目錄

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】:兵器|代碼重工

在這裡插入圖片描述


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文將為大家詳細講解Java中的Map集合,這是我們進行開發時經常用到的知識點,也是大家在學習Java中很重要的一個知識點,更是我們在面試時有可能會問到的問題。文章較長,乾貨滿滿,建議大家收藏慢慢學習。文末有本文重點總結,主頁有全系列文章分享。技術類問題,歡迎大家和我們一起交流討論! ...
  • # 0.相關確定 本教程使用的版本號為專業版PyCharm 2022.3.2,如果您是初學者,為了更好的學習本教程,避免不必要的麻煩,請您下載使用與本教程一致的版本號。 # 1.PyCharm的下載 官網下載:https://www.jetbrains.com/pycharm/download/ot ...
  • Servlet是web體系裡面最重要的部分,下麵羅列幾道常見的面試題,小伙伴們一定要好好記住哈。 1.Servlet是單例的嗎,如何證明? Servlet一般都是單例的,並且是多線程的。如何證明Servlet是單例模式呢?很簡單,重寫Servlet的init方法,或者添加一個構造方法。然後,在web ...
  • Rocksdb作為當下nosql中性能的代表被各個存儲組件(mysql、tikv、pmdk、bluestore)作為存儲引擎底座,其基於LSM tree的核心存儲結構(將隨機寫通過數據結構轉化為順序寫)來提供高性能的寫吞吐時保證了讀性能。同時大量的併發性配置來降低compaction的影響。 ...
  • 本篇為[用go設計開發一個自己的輕量級登錄庫/框架吧]的封禁業務篇,會講講封禁業務的實現,給庫/框架增加新的功能。源碼:https://github.com/weloe/token-go ...
  • 哈嘍大家好,我是鹹魚 幾天前,IBM 工程師 Martin Heinz 發文表示 python 3.12 版本回引入"Per-Interpreter GIL”,有了這個 Per-Interpreter 全局解釋器鎖,python 就能實現真正意義上的並行/併發 我們知道,python 的多線程/進程 ...
  • ## 1. ThreadLocal 是什麼 JDK 對`ThreadLocal`的描述為: > 此類提供線程局部變數。這些變數與普通變數的不同之處在於,每個訪問一個變數的線程(通過其get或set方法)都有自己的、獨立初始化的變數副本。ThreadLocal 實例通常是類中的私有靜態欄位,這些欄位希 ...
  • # 三、Java8的CompletableFuture,Java的多線程開發 ## 1、CompletableFuture的常用方法 - 以後用到再加 ```properties runAsync() :開啟非同步(創建線程執行任務),無返回值 supplyAsync() :開啟非同步(創建線程執行任務 ...
一周排行
    -Advertisement-
    Play Games
  • 在一些複雜的業務表中間查詢數據,有時候操作會比較複雜一些,不過基於SqlSugar的相關操作,處理的代碼會比較簡單一些,以前我在隨筆《基於SqlSugar的開發框架循序漸進介紹(2)-- 基於中間表的查詢處理》介紹過基於主表和中間表的聯合查詢,而往往實際會比這個會複雜一些。本篇隨筆介紹聯合多個表進行... ...
  • 從按鈕、文本框到下拉框、列表框,WPF提供了一系列常用控制項,每個控制項都有自己獨特的特性和用途。通過靈活的佈局容器,如網格、堆棧面板和換行面板,我們可以將這些控制項組合在一起,實現複雜的界面佈局。而通過樣式和模板,我們可以輕鬆地定製控制項的外觀和行為,以符合我們的設計需求。本篇記錄WPF入門需要瞭解的樣式... ...
  • 以MySQL資料庫為例 # 一. 安裝 NuGet搜索Dapper.Lite並安裝最新版本。 ![](https://img2023.cnblogs.com/blog/174862/202306/174862-20230602155913303-757935399.jpg) NuGet搜索MySql ...
  • # 圖片介面JWT鑒權實現 # 前言 之前做了個返回圖片鏈接的介面,然後沒做授權,然後今天鍵盤到了,也是用JWT來做介面的許可權控制。 然後JTW網上已經有很多文章來說怎麼用了,這裡就不做多的解釋了,如果不懂的可以參考下列鏈接的 文章。 圖片介面文章:[還在愁個人博客沒有圖片放?](https://w ...
  • ![線程各屬性縱覽](https://img2023.cnblogs.com/blog/1220983/202306/1220983-20230603114109107-477345835.png) 如上圖所示,線程有四個屬性: - 線程ID - 線程名稱 - 守護線程 - 線程優先順序 ### 1. ...
  • 本次主要介紹golang中的標準庫`bytes`,基本上參考了 [位元組 | bytes](https://cloud.tencent.com/developer/section/1140520) 、[Golang標準庫——bytes](https://www.jianshu.com/p/e6f7f2 ...
  • 歡迎來到本篇文章!通過上一篇什麼是 Spring?為什麼學它?的學習,我們知道了 Spring 的基本概念,知道什麼是 Spring,以及為什麼學習 Spring。今天,這篇就來說說 Spring 中的核心概念之一 IoC。 ...
  • # 2022版本IDEA+Maven+Tomcat的第一個程式(傻瓜教學) ​ 作為學習Javaweb的一個重要環節,如何實現在IDEA中利用Maven工具創建一個Javaweb程式模版並連接Tomcat發佈是非常重要的。我比較愚鈍(小白),而且自身電腦先前運行過spring或maven的程式,系統 ...
  • 本篇專門扯一下有關 QCheckBox 組件的一個問題。老周不水字數,直接上程式,你看了就明白。 #include <QApplication> #include <QWidget> #include <QPushButton> #include <QCheckBox> #include <QVBo ...
  • # 1.列表數據元素排序 在創建的列表中,數據元素的排列順序常常是無法預測的。這雖然在大多數情況下都是不可避免的,但經常需要以特定的順序呈現信息。有時候希望保留列表數據元素最初的排列順序,而有時候又需要調整排列順序。python提供了很多列表數據元素排序的方式,可根據情況選用。 ## 1.永久性排序 ...