Maven 環境配置全攻略:從入門到實戰

一、Maven 簡介

Maven 是一個基于項目對象模型 (POM) 的項目管理工具,它可以通過一小段描述信息來管理項目的構建、報告和文檔。

除了強大的程序構建能力外,Maven 還提供了高級項目管理功能。其默認構建規則具有很高的可重用性,通常只需兩三行構建腳本就能構建簡單項目。目前,許多 Apache Jakarta 項目以及眾多公司項目都在使用 Maven,采用率持續增長。

二、Maven 中央倉庫

Maven 中央倉庫地址:https://mvnrepository.com/

提示:如果加載緩慢,可根據個人網絡情況使用加速器。

三、Maven 工程與非 Maven 工程對比

Maven 工程非 Maven 工程
自動下載并導入 jar 文件必須手動導入 jar 文件
jar 文件相互之間兼容性好jar 文件相互之間存在不兼容問題
刪除或修改 jar 文件方便刪除或修改 jar 文件不方便
支持多工程復用,方便復用不支持多工程復用,復用不方便
可以創建父子工程不可以創建父子工程

四、Maven 下載

4.1 下載地址

官方下載頁面:Download Apache Maven – Maven

4.2 推薦版本

Apache Maven 3.9.4 是最新版本,推薦所有用戶使用,最新發布時間為 2023-08-03。

4.3 系統要求

要求詳情
Java 開發工具包 (JDK)Maven 3.9 + 需要 JDK 8 或更高版本才能執行。通過使用工具鏈,仍然可以針對 1.3 和其他 JDK 版本進行構建。
內存無最低要求
磁盤空間Maven 安裝本身大約需要 10MB。此外,本地 Maven 倉庫也會占用磁盤空間,其大小取決于使用情況,但至少需要 500MB。
操作系統無最低要求。包含的啟動腳本有 shell 腳本(在許多 Unix 版本上測試過)和 Windows 批處理文件。

4.4 下載文件

Maven 提供多種分發格式,可選擇現成的二進制分發檔案:

  • Binary tar.gz archive:apache-maven-3.9.4-bin.tar.gz
  • Binary zip archive:apache-maven-3.9.4-bin.zip

五、Maven 配置

5.1 解壓

下載后進行解壓,注意不建議放在中文目錄中

5.2 修改 Maven 配置文件

5.2.1 準備本地倉庫目錄

在 D 盤創建兩個空文件夾:maven3repository(路徑示例:D:\maven3\repository),用于存放本地倉庫。

使用能顯示行號的編輯器(如 Notepad++、VS Code 等)打開 Maven 安裝目錄下的settings.xml文件(位于 conf 文件夾中)。

5.2.3 配置本地倉庫路徑

在文件的第 55 行左右,添加本地倉庫路徑:

<localRepository>D:\mavenjar\repository</localRepository>
5.2.4 配置阿里云鏡像

在文件的第 160 行左右的<mirrors>標簽內,添加阿里云鏡像配置(后續下載 jar 依賴將從阿里云倉庫獲取,速度更快):

<mirror><id>maven-default-http-blocker</id><mirrorOf>external:http:*</mirrorOf><name>Pseudo repository to mirror external repositories initially using HTTP.</name><url>http://0.0.0.0/</url><blocked>true</blocked>
</mirror>
<mirror><id>alimaven</id><name>aliyun maven</name><url>https://maven.aliyun.com/repository/central</url><mirrorOf>central</mirrorOf>        
</mirror>

5.3 配置環境變量

5.3.1 新建系統變量
  • 變量名:MAVEN_HOME
  • 變量值:Maven 的安裝路徑(例如:D:\apache-maven-3.9.2)

5.3.2 編輯 Path 變量

在系統變量的Path中添加:%MAVEN_HOME%\bin

5.4 驗證環境變量配置

打開 CMD 命令提示符,輸入mvn -v,如果輸出類似以下內容,則表示配置成功:

Apache Maven 3.9.2 (c9616018c7a021c1c39be70fb2843d6f5f9b8a1c)
Maven home: D:\apache-maven-3.9.2
Java version:11.0.19, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk-11
Default locale: zh_CN, platform encoding: GBK
OS name:"windows 10", version:"10.0", arch:"amd64", family:"windows"

六、配置 IDEA 的 Maven

6.1 打開設置界面

打開 IDEA,進入File -> Settings(或Ctrl + Alt + S)。

6.2 定位 Maven 設置

展開Build, Execution, Deployment -> Build Tools -> Maven

6.3 配置 Maven 路徑

  • Maven home path:選擇本地 Maven 的安裝目錄(例如:D:\apache-maven-3.9.2)
  • User settings file:選擇 Maven 配置文件settings.xml的路徑(例如:D:\apache-maven-3.9.2\conf\settings.xml),并勾選Override
  • Local repository:選擇本地倉庫路徑(例如:D:\mavenjar\repository),并勾選Override

6.4 配置導入設置

進入Maven -> Importing,勾選以下選項:

  • Automatically download:Sources、Documentation、Annotations

七、IDEA 創建 Maven 工程

7.1 新建工程

  • 選擇File -> New -> Project
  • 左側選擇Maven
  • 根據項目類型選擇對應的 Archetype:
    • JavaSE 工程:org.apache.maven.archetypes:maven-archetype-quickstart
    • JavaWeb 工程:org.apache.maven.archetypes:maven-archetype-webapp
  • 填寫項目名稱、位置等信息,點擊Create

等待加載完成,完整的Maven工程如下圖 :

表示Maven的web工程創建成功.

至此Maven工程基本創建成功。

javase工程結構

1.9、添加依賴

九、Maven 常用命令

命令功能描述
mvn compile編譯源代碼
mvn deploy發布項目
mvn test-compile編譯測試源代碼
mvn test運行應用程序中的單元測試
mvn site生成項目相關信息的網站
mvn clean清除項目目錄中的生成結果
mvn package根據項目生成 jar 包
mvn install在本地倉庫中安裝 jar
mvn tomcat:run啟動 tomcat 服務
mvn clean package -Dmaven.test.skip=true清除以前的包后重新打包,跳過測試類

以上就是 Maven 環境配置及基本使用的全部內容,希望對大家有所幫助!如果有任何問題,歡迎在評論區留言討論。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/916334.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/916334.shtml
英文地址,請注明出處:http://en.pswp.cn/news/916334.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

現代 C++ 開發工作流(VSCode / Cursor)

? 推薦的現代 C 開發工作流&#xff08;含 VSCode / Cursor 插件配置&#xff09;&#x1f9f0; 一、環境要求 C 編譯器&#xff08;如 g 或 clang&#xff09;CMake&#xff08;建議 ≥ 3.16&#xff09;clangd&#xff08;建議 ≥ 14&#xff0c;最好用系統包管理器安裝&…

[SAP ABAP] ALV報表練習4

SO銷售訂單明細報表業務目的&#xff1a;根據選擇屏幕的篩選條件&#xff0c;使用ALV報表顯示銷售訂單詳情(Sales Order、Material、現有Qty、已開立數量以及剩余數量等)信息效果展示我們在銷售訂單欄位輸入需要查詢的SO單號&#xff0c;這里我們以SO單號0000000221為例&#x…

《設計模式之禪》筆記摘錄 - 10.裝飾模式

裝飾模式的定義裝飾模式(Decorator Pattern)是一種比較常見的模式&#xff0c;其定義如下&#xff1a;Attach additional responsibilities to an object dynamically keeping the same interface. Decorators provide a flexible alternative to subclassing for extending fu…

[AI8051U入門第十步]W5500-客戶端

學習目標: 1、認識W5500模塊 2、驅動W5500靜態獲取ip 3、獲取全球唯一碼作為mac地址 4、拔出網線重插網線自動獲取IP 5、編寫W5500作為客戶端進行TCP/IP代碼一、W5500介紹 W5500 是一款由韓國 WIZnet 公司推出的高性能 硬件 TCP/IP 嵌入式以太網控制器,專為嵌入式系統設計,…

UNETR++: Delving Into Efficient and Accurate 3D Medical Image Segmentation

摘要得益于Transformer模型的成功&#xff0c;近期研究開始探索其在3D醫學分割任務中的適用性。在Transformer模型中&#xff0c;自注意力機制是核心構建模塊之一&#xff0c;與基于局部卷積的設計相比&#xff0c;它致力于捕捉長距離依賴關系。然而&#xff0c;自注意力操作存…

Kotlin Flow 在 Jetpack Compose 中的正確打開方式:SharedFlow vs StateFlow 與 LaunchedEffect

在 Jetpack Compose 中&#xff0c;Kotlin Flow 是處理異步數據流的核心工具&#xff0c;而 SharedFlow 和 StateFlow 是最常用的兩種 Flow 類型。但很多開發者對它們的適用場景、如何與 LaunchedEffect 配合使用存在困惑。本文將深入探討它們的區別&#xff0c;并給出最佳實踐…

嵌入式——C語言:指針①

一、指針特點1.讓代碼更加簡潔高效2.提供直接訪問內存的操作3.利用指針可以直接操作硬件二、指針概念&#xff08;一&#xff09;地址&#xff1a;為了區分內存中不同字節的編號&#xff08;0到2^16-1&#xff09;&#xff08;二&#xff09;指針&#xff1a;指針就是地址&…

RabbitMQ—HAProxy負載均衡

上篇文章&#xff1a; RabbitMQ—仲裁隊列https://blog.csdn.net/sniper_fandc/article/details/149312579?fromshareblogdetail&sharetypeblogdetail&sharerId149312579&sharereferPC&sharesourcesniper_fandc&sharefromfrom_link 目錄 1 HAProxy安裝…

QT中啟用VIM后粘貼復制快捷鍵失效

當在QT中啟用FakeVim之后&#xff0c;Ctrl C 和 Ctrl V 快捷鍵就變成 Vim 的快捷鍵了&#xff0c;我希望它還是原來的復制粘貼功能&#xff0c;打開&#xff1a;編輯 > Preferences…&#xff0c;然后勾選 “Pass control keys”即可&#xff0c;如下&#xff1a;

TCP三次握手與四次揮手全解析

&#x1f30a; TCP三次握手與四次揮手全解析&#xff08;含序列號動態追蹤&#xff09;&#x1f511; TCP 協議核心機制 序列號 (seq)&#xff1a;數據字節流的唯一標識&#xff08;32位循環計數器&#xff09;確認號 (ack)&#xff1a;期望接收的下一個序列號&#xff08;ack …

7月26號打卡

作業&#xff1a;題目1&#xff1a;計算圓的面積 任務&#xff1a; 編寫一個名為 calculate_circle_area 的函數&#xff0c;該函數接收圓的半徑 radius 作為參數&#xff0c;并返回圓的面積。圓的面積 π * radius (可以使用 math.pi 作為 π 的值)要求&#xff1a;函數接收一…

C++/CLI與標準C++的語法差異(一)

&#x1f30c; C/CLI與標準C的語法差異&#xff08;一&#xff09;&#x1f52c; 第一章&#xff1a;類型系統革命 - 徹底解構三語言范式 &#x1f9ea; 1.1 類型聲明語義差異矩陣 #mermaid-svg-L5kQ3iy05pKo4vIj {font-family:"trebuchet ms",verdana,arial,sans-se…

輸電線路微氣象在線監測裝置:保障電網安全的科技屏障

在電力傳輸網絡中&#xff0c;輸電線路微氣象在線監測裝置通過集成專業傳感器與智能分析技術&#xff0c;實現對線路周邊環境參數的實時采集與動態分析&#xff0c;為電網運行安全提供數據支撐。該設備針對輸電線路特殊工況設計&#xff0c;具備高適應性、高可靠性特點。工作原…

基于springboot的圖書借閱系統

用戶&#xff1a;借閱信息管理&#xff0c;續借信息管理&#xff0c;還書信息管理&#xff0c;圖書信息&#xff0c;系統公告&#xff0c;留言板&#xff0c;我的中心管理員&#xff1a;圖書信息管理&#xff0c;圖書類型管理&#xff0c;借閱信息管理&#xff0c;續借信息管理…

Xinference vs SGLang:詳細對比分析

概述對比特性XinferenceSGLang定位通用AI模型推理平臺高性能LLM服務框架專注領域多模態模型統一接口LLM推理性能優化設計理念易用性和兼容性性能和效率核心架構對比 Xinference 架構特點 Xinference 架構&#xff1a; ├── API層&#xff08;REST/CLI/Python&#xff09; ├─…

雙非上岸985!專業課140分經驗!信號與系統考研專業課140+上岸中南大學,通信考研小馬哥

一&#xff0e;經驗分享個人情況&#xff1a;初試總分377&#xff0c;政治59&#xff0c;英語二75、數學二103、專業課140。本科為湖南一所雙非一本&#xff0c;專業是電子信息工程&#xff0c;本科成績一般&#xff0c;無獎學金無評優無科研競賽&#xff0c;屬于三無人員&…

配置DNS正反向解析

服務端master配置:yum install bind -y配置靜態ip&#xff1a;修改配置文件&#xff1a;主&#xff1a;區域&#xff1a;正向解析&#xff1a;反向解析&#xff1a;開啟服務&#xff1a;客戶端node1配置&#xff1a;yum install nginx -y配置靜態ip&#xff1a;使用xftp將文…

MyBatis-Plus 通用 Service

引言 在開發 Java Web 應用程序時&#xff0c;我們經常需要進行大量的數據庫操作&#xff0c;如創建、讀取、更新和刪除&#xff08;CRUD&#xff09;。MyBatis-Plus 作為一個強大的 MyBatis 增強工具&#xff0c;為我們提供了通用 Service 接口&#xff0c;極大地簡化了這些操…

聚類-一種無監督分類算法

目錄 1、聚類任務 2、性能度量 &#xff08;1&#xff09;外部指標 &#xff08;2&#xff09;內部指標 3、具體聚類方法 &#xff08;1&#xff09;原型聚類 &#xff08;2&#xff09;密度聚類 &#xff08;3&#xff09;層次聚類 “無監督學習”(unsupervised learnin…

ES6 標簽模板:前端框架的靈活利器

ES6&#xff08;ECMAScript 2015&#xff09;引入的模板字符串&#xff08;Template Literals&#xff09;為 JavaScript 開發者提供了更簡潔的字符串處理方式&#xff0c;而模板字符串標簽&#xff08;Tagged Template Literals&#xff09;則進一步擴展了其功能性。通過標簽函…