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
  • 下麵是一個標準的IDistributedCache用例: public class SomeService(IDistributedCache cache) { public async Task<SomeInformation> GetSomeInformationAsync (string na ...
  • 這個庫提供了在啟動期間實例化已註冊的單例,而不是在首次使用它時實例化。 單例通常在首次使用時創建,這可能會導致響應傳入請求的延遲高於平時。在註冊時創建實例有助於防止第一次Request請求的SLA 以往我們要在註冊的時候實例單例可能會這樣寫: //註冊: services.AddSingleton< ...
  • 最近公司的很多項目都要改單點登錄了,不過大部分都還沒敲定,目前立刻要做的就只有一個比較老的項目 先改一個試試手,主要目標就是最短最快實現功能 首先因為要保留原登錄方式,所以頁面上的改動就是在原來登錄頁面下加一個SSO登錄入口 用超鏈接寫的入口,頁面改造後如下圖: 其中超鏈接的 href="Staff ...
  • Like運算符很好用,特別是它所提供的其中*、?這兩種通配符,在Windows文件系統和各類項目中運用非常廣泛。 但Like運算符僅在VB中支持,在C#中,如何實現呢? 以下是關於LikeString的四種實現方式,其中第四種為Regex正則表達式實現,且在.NET Standard 2.0及以上平... ...
  • 一:背景 1. 講故事 前些天有位朋友找到我,說他們的程式記憶體會偶發性暴漲,自己分析了下是非托管記憶體問題,讓我幫忙看下怎麼回事?哈哈,看到這個dump我還是非常有興趣的,居然還有這種游戲幣自助機類型的程式,下次去大玩家看看他們出幣的機器後端是不是C#寫的?由於dump是linux上的程式,剛好win ...
  • 前言 大家好,我是老馬。很高興遇到你。 我們為 java 開發者實現了 java 版本的 nginx https://github.com/houbb/nginx4j 如果你想知道 servlet 如何處理的,可以參考我的另一個項目: 手寫從零實現簡易版 tomcat minicat 手寫 ngin ...
  • 上一次的介紹,主要圍繞如何統一去捕獲異常,以及為每一種異常添加自己的Mapper實現,並且我們知道,當在ExceptionMapper中返回非200的Response,不支持application/json的響應類型,而是寫死的text/plain類型。 Filter為二方包異常手動捕獲 參考:ht ...
  • 大家好,我是R哥。 今天分享一個爽飛了的面試輔導 case: 這個杭州兄弟空窗期 1 個月+,面試了 6 家公司 0 Offer,不知道問題出在哪,難道是杭州的 IT 崩盤了麽? 報名面試輔導後,經過一個多月的輔導打磨,現在成功入職某上市公司,漲薪 30%+,955 工作制,不咋加班,還不捲。 其他 ...
  • 引入依賴 <!--Freemarker wls--> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.30</version> </dependency> ...
  • 你應如何運行程式 互動式命令模式 開始一個互動式會話 一般是在操作系統命令行下輸入python,且不帶任何參數 系統路徑 如果沒有設置系統的PATH環境變數來包括Python的安裝路徑,可能需要機器上Python可執行文件的完整路徑來代替python 運行的位置:代碼位置 不要輸入的內容:提示符和註 ...