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
  • 最近做項目過程中,使用到了海康相機,官方只提供了C/C++的SDK,沒有搜尋到一個合適的封裝了的C#庫,故自己動手,簡單的封裝了一下,方便大家也方便自己使用和二次開發 ...
  • 前言 MediatR 是 .NET 下的一個實現消息傳遞的庫,輕量級、簡潔高效,用於實現進程內的消息傳遞機制。它基於中介者設計模式,支持請求/響應、命令、查詢、通知和事件等多種消息傳遞模式。通過泛型支持,MediatR 可以智能地調度不同類型的消息,非常適合用於領域事件處理。 在本文中,將通過一個簡 ...
  • 前言 今天給大家推薦一個超實用的開源項目《.NET 7 + Vue 許可權管理系統 小白快速上手》,DncZeus的願景就是做一個.NET 領域小白也能上手的簡易、通用的後臺許可權管理模板系統基礎框架。 不管你是技術小白還是技術大佬或者是不懂前端Vue 的新手,這個項目可以快速上手讓我們從0到1,搭建自 ...
  • 第1章:WPF概述 本章目標 瞭解Windows圖形演化 瞭解WPF高級API 瞭解解析度無關性概念 瞭解WPF體繫結構 瞭解WPF 4.5 WPF概述 ​ 歡迎使用 Windows Presentation Foundation (WPF) 桌面指南,這是一個與解析度無關的 UI 框架,使用基於矢 ...
  • 在日常開發中,並不是所有的功能都是用戶可見的,還在一些背後默默支持的程式,這些程式通常以服務的形式出現,統稱為輔助角色服務。今天以一個簡單的小例子,簡述基於.NET開發輔助角色服務的相關內容,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 第3章:佈局 本章目標 理解佈局的原則 理解佈局的過程 理解佈局的容器 掌握各類佈局容器的運用 理解 WPF 中的佈局 WPF 佈局原則 ​ WPF 視窗只能包含單個元素。為在WPF 視窗中放置多個元素並創建更貼近實用的用戶男面,需要在視窗上放置一個容器,然後在這個容器中添加其他元素。造成這一限制的 ...
  • 前言 在平時項目開發中,定時任務調度是一項重要的功能,廣泛應用於後臺作業、計劃任務和自動化腳本等模塊。 FreeScheduler 是一款輕量級且功能強大的定時任務調度庫,它支持臨時的延時任務和重覆迴圈任務(可持久化),能夠按秒、每天/每周/每月固定時間或自定義間隔執行(CRON 表達式)。 此外 ...
  • 目錄Blazor 組件基礎路由導航參數組件參數路由參數生命周期事件狀態更改組件事件 Blazor 組件 基礎 新建一個項目命名為 MyComponents ,項目模板的交互類型選 Auto ,其它保持預設選項: 客戶端組件 (Auto/WebAssembly): 最終解決方案裡面會有兩個項目:伺服器 ...
  • 先看一下效果吧: isChecked = false 的時候的效果 isChecked = true 的時候的效果 然後我們來實現一下這個效果吧 第一步:創建一個空的wpf項目; 第二步:在項目裡面添加一個checkbox <Grid> <CheckBox HorizontalAlignment=" ...
  • 在編寫上位機軟體時,需要經常處理命令拼接與其他設備進行通信,通常對不同的命令封裝成不同的方法,擴展稍許麻煩。 本次擬以特性方式實現,以兼顧維護性與擴展性。 思想: 一種命令對應一個類,其類中的各個屬性對應各個命令段,通過特性的方式,實現其在這包數據命令中的位置、大端或小端及其轉換為對應的目標類型; ...