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
  • Dapr Outbox 是1.12中的功能。 本文只介紹Dapr Outbox 執行流程,Dapr Outbox基本用法請閱讀官方文檔 。本文中appID=order-processor,topic=orders 本文前提知識:熟悉Dapr狀態管理、Dapr發佈訂閱和Outbox 模式。 Outbo ...
  • 引言 在前幾章我們深度講解了單元測試和集成測試的基礎知識,這一章我們來講解一下代碼覆蓋率,代碼覆蓋率是單元測試運行的度量值,覆蓋率通常以百分比表示,用於衡量代碼被測試覆蓋的程度,幫助開發人員評估測試用例的質量和代碼的健壯性。常見的覆蓋率包括語句覆蓋率(Line Coverage)、分支覆蓋率(Bra ...
  • 前言 本文介紹瞭如何使用S7.NET庫實現對西門子PLC DB塊數據的讀寫,記錄了使用電腦模擬,模擬PLC,自至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1.Windows環境下鏈路層網路訪問的行業標準工具(WinPcap_4_1_3.exe)下載鏈接:http ...
  • 從依賴倒置原則(Dependency Inversion Principle, DIP)到控制反轉(Inversion of Control, IoC)再到依賴註入(Dependency Injection, DI)的演進過程,我們可以理解為一種逐步抽象和解耦的設計思想。這種思想在C#等面向對象的編 ...
  • 關於Python中的私有屬性和私有方法 Python對於類的成員沒有嚴格的訪問控制限制,這與其他面相對對象語言有區別。關於私有屬性和私有方法,有如下要點: 1、通常我們約定,兩個下劃線開頭的屬性是私有的(private)。其他為公共的(public); 2、類內部可以訪問私有屬性(方法); 3、類外 ...
  • C++ 訪問說明符 訪問說明符是 C++ 中控制類成員(屬性和方法)可訪問性的關鍵字。它們用於封裝類數據並保護其免受意外修改或濫用。 三種訪問說明符: public:允許從類外部的任何地方訪問成員。 private:僅允許在類內部訪問成員。 protected:允許在類內部及其派生類中訪問成員。 示 ...
  • 寫這個隨筆說一下C++的static_cast和dynamic_cast用在子類與父類的指針轉換時的一些事宜。首先,【static_cast,dynamic_cast】【父類指針,子類指針】,兩兩一組,共有4種組合:用 static_cast 父類轉子類、用 static_cast 子類轉父類、使用 ...
  • /******************************************************************************************************** * * * 設計雙向鏈表的介面 * * * * Copyright (c) 2023-2 ...
  • 相信接觸過spring做開發的小伙伴們一定使用過@ComponentScan註解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,將包下的類按照一定規則註冊成Be ...
  • 操作系統 :CentOS 7.6_x64 opensips版本: 2.4.9 python版本:2.7.5 python作為腳本語言,使用起來很方便,查了下opensips的文檔,支持使用python腳本寫邏輯代碼。今天整理下CentOS7環境下opensips2.4.9的python模塊筆記及使用 ...