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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...