Maven 下載安裝與配置教程

## 1. Maven 簡介

??

Maven 是一個項目管理和構建自動化工具,主要用于 Java 項目。Maven 可以幫助開發者管理項目的構建、報告和文檔,簡化項目依賴管理。

??

## 2. 下載 Maven

??

1. 訪問 Maven 官方網站 [https://maven.apache.org/download.cgi](https://maven.apache.org/download.cgi)

2. 下載最新版本的 Maven 二進制壓縮包(Binary zip archive)

???- Windows 用戶選擇 `.zip` 格式

???- Linux/Mac 用戶選擇 `.tar.gz` 格式

??

## 3. 安裝 Maven

??

### Windows 系統安裝步驟

??

1. 將下載的 zip 文件解壓到您選擇的目錄,例如 `C:\Program Files\Apache\maven`

2. 設置環境變量:

???- 右鍵點擊"此電腦",選擇"屬性"

???- 點擊"高級系統設置"

???- 點擊"環境變量"按鈕

???- 在"系統變量"部分,點擊"新建"

???- 變量名設置為 `MAVEN_HOME`,變量值設置為 Maven 的安裝目錄(例如 `C:\Program Files\Apache\maven`)

???- 找到"系統變量"中的 `Path` 變量,點擊"編輯"

???- 點擊"新建",添加 `%MAVEN_HOME%\bin`

???- 點擊"確定"保存所有更改

??

### Linux 系統安裝步驟

??

1. 將下載的壓縮包解壓到您選擇的目錄:

???```bash

???tar -xzvf apache-maven-x.x.x-bin.tar.gz -C /opt/

???```

2. 配置環境變量,編輯 `~/.bashrc` 或 `~/.zshrc` 文件:

???```bash

???nano ~/.bashrc

???```

3. 添加以下內容:

???```bash

???export MAVEN_HOME=/opt/apache-maven-x.x.x

???export PATH=$PATH:$MAVEN_HOME/bin

???```

4. 使環境變量生效:

???```bash

???source ~/.bashrc

???```

??

### macOS 系統安裝步驟

??

1. 將下載的壓縮包解壓到您選擇的目錄:

???```bash

???tar -xzvf apache-maven-x.x.x-bin.tar.gz -C /opt/

???```

2. 配置環境變量,編輯 `~/.bash_profile` 或 `~/.zshrc` 文件:

???```bash

???nano ~/.bash_profile

???```

3. 添加以下內容:

???```bash

???export MAVEN_HOME=/opt/apache-maven-x.x.x

???export PATH=$PATH:$MAVEN_HOME/bin

???```

4. 使環境變量生效:

???```bash

???source ~/.bash_profile

???```

??

## 4. 驗證安裝

??

要驗證 Maven 是否安裝成功,請在命令行中運行:

??

```bash

mvn -version

```

??

如果安裝成功,將顯示 Maven 版本、Java 版本和系統信息。

??

## 5. Maven 配置

??

### 配置本地倉庫

??

Maven 默認的本地倉庫位于 `~/.m2/repository`。如果需要自定義本地倉庫位置,可以編輯 Maven 的 `settings.xml` 文件:

??

1. 在 Maven 安裝目錄下的 `conf` 文件夾中找到 `settings.xml` 文件

2. 復制 `settings.xml` 到 `~/.m2/` 目錄下(如果不存在,請創建)

3. 編輯 `~/.m2/settings.xml` 文件,修改本地倉庫路徑:

??

```xml

<settings>

??<localRepository>D:\maven-repo</localRepository>

??<!-- 其他配置 -->

</settings>

```

??

### 配置鏡像倉庫

??

為了加快依賴包的下載速度,可以配置國內的 Maven 鏡像倉庫。編輯 `settings.xml` 文件,在 `<mirrors>` 標簽中添加:

??

```xml

<mirrors>

??<mirror>

????<id>aliyun</id>

????<name>Aliyun Maven Repository</name>

????<url>https://maven.aliyun.com/repository/public</url>

????<mirrorOf>central</mirrorOf>

??</mirror>

</mirrors>

```

??

### 配置 JDK 版本

??

可以在 `settings.xml` 文件中配置默認的 JDK 版本:

??

```xml

<profiles>

??<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>

</profiles>

```

??

## 6. Maven 基本使用

??

### 創建 Maven 項目

??

```bash

mvn archetype:generate -DgroupId=com.example -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

```

??

### 構建項目

??

```bash

mvn clean package

```

??

### 運行測試

??

```bash

mvn test

```

??

### 安裝到本地倉庫

??

```bash

mvn install

```

??

## 7. 常見問題解決

??

### 下載依賴超時

??

如果下載依賴包時出現超時問題,可以嘗試:

- 配置國內鏡像倉庫

- 增加超時時間,在 `settings.xml` 的 `<mirrors>` 標簽后添加:

??```xml

??<settings>

????<!-- 其他配置 -->

????<servers>

??????<server>

????????<id>central</id>

????????<configuration>

??????????<httpConfiguration>

????????????<all>

??????????????<connectionTimeout>120000</connectionTimeout>

??????????????<readTimeout>120000</readTimeout>

????????????</all>

??????????</httpConfiguration>

????????</configuration>

??????</server>

????</servers>

??</settings>

??```

??

### 找不到 JAVA_HOME

??

如果遇到 "No JAVA_HOME detected" 錯誤,請確保已經正確設置 JAVA_HOME 環境變量。

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

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

相關文章

C# 深入理解類(從類的外部訪問靜態成員)

從類的外部訪問靜態成員 在前一章中&#xff0c;我們看到使用點運算符可以從類的外部訪問public實例成員。點運算符由實 例名、點和成員名組成。 就像實例成員&#xff0c;靜態成員也可以使用點運算符從類的外部訪問。但因為沒有實例&#xff0c;所以最常 用的訪問靜態成員的方…

Java在微服務架構中的最佳實踐:從設計到部署

在2025年的云計算和分布式系統時代&#xff0c;微服務架構已成為構建高可擴展、高可用系統的標準方法&#xff0c;廣泛應用于電商、金融和物聯網等領域。Java憑借其成熟的生態系統、強大的并發支持和跨平臺能力&#xff0c;是微服務開發的首選語言。例如&#xff0c;我們的訂單…

文件讀取漏洞路徑與防御總結

文件讀取漏洞路徑與防御總結 文件讀取漏洞允許攻擊者通過路徑遍歷等手段訪問未授權的文件。以下是Linux和Windows系統中常見敏感路徑的歸納及防御建議&#xff1a; Linux 系統常見敏感路徑 系統關鍵文件&#xff1a; /etc/passwd&#xff1a;用戶賬戶信息&#xff08;可被用來…

react-router基本寫法

1. 創建項目并安裝所有依賴 npx create-react-app react-router-pro npm i 2. 安裝所有的 react router 包 npm i react-router-dom 3. 啟動項目 npm run start router/index.js // 創建路由實例 綁定path elementimport Layout from "/pages/Layout"; import…

uni-app 開發HarmonyOS的鴻蒙影視項目分享:從實戰案例到開源后臺

最近&#xff0c;HBuilderX 新版本發布&#xff0c;帶來了令人興奮的消息——uni-app 現在支持 Harmony Next 平臺的 App 開發。這對于開發者來說無疑是一個巨大的福音&#xff0c;意味著使用熟悉的 Vue 3 語法和開發框架&#xff0c;就可以為鴻蒙生態貢獻自己的力量。 前言 作…

純css實現蜂窩效果

<!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>蜂窩效果</title><style>body {margin: 0…

JAVA EE_HTTP

為什么意氣風發的少年&#xff0c;總是聽不進去別人的勸解。 ??????? ??????? ----------陳長生. ?主頁&#xff1a;陳長生.-CSDN博客? &#x1f4d5;上一篇&#xff1a;JAVA EE_網絡原理_數據鏈路層-CSDN博客 1.HTTP 1.1.HTTP是什么 H…

存儲扇區分配表:NAND Flash與SD NAND(貼片式SD卡)的架構差異

NAND Flash 和 SD 卡&#xff08;SD NAND&#xff09;的存儲扇區分配表在原理上有相似之處&#xff0c;但由于二者的結構和應用場景不同&#xff0c;也存在一些差異。 相同點&#xff1a; 基本功能&#xff1a;NAND Flash 和 SD 卡&#xff08;SD NAND&#xff09;的存儲扇區分…

界面控件DevExpress WinForms中文教程:Banded Grid View - API

DevExpress WinForms擁有180組件和UI庫&#xff0c;能為Windows Forms平臺創建具有影響力的業務解決方案。DevExpress WinForms能完美構建流暢、美觀且易于使用的應用程序&#xff0c;無論是Office風格的界面&#xff0c;還是分析處理大批量的業務數據&#xff0c;它都能輕松勝…

4G物聯網模塊實現廢氣處理全流程數據可視化監控配置

一、項目背景 隨著工業化進程的加速&#xff0c;工業廢氣的排放對環境造成了嚴重影響&#xff0c;廢氣處理廠應運而生。然而&#xff0c;廢氣處理廠中的設備眾多且分散&#xff0c;傳統的人工巡檢和數據記錄方式效率低下&#xff0c;難以及時發現問題。為了實現對廢氣處理設備…

Kubernetes控制平面組件:Kubelet詳解(四):gRPC 與 CRI gRPC實現

云原生學習路線導航頁&#xff08;持續更新中&#xff09; kubernetes學習系列快捷鏈接 Kubernetes架構原則和對象設計&#xff08;一&#xff09;Kubernetes架構原則和對象設計&#xff08;二&#xff09;Kubernetes架構原則和對象設計&#xff08;三&#xff09;Kubernetes控…

【數據結構】線性表--隊列

【數據結構】線性表--隊列 一.什么是隊列二.隊列的實現1.隊列結構定義&#xff1a;2.隊列初始化函數&#xff1a;3.隊列銷毀函數&#xff1a;4.入隊列函數&#xff08;尾插&#xff09;&#xff1a;5.出隊列函數&#xff08;頭刪&#xff09;&#xff1a;6.取隊頭元素&#xff…

C語言—再學習(結構體)

一、建立結構體 用戶自己建立由不同類型數據組成的組合型的數據結構&#xff0c;它稱為結構體。 struct Student { int num; //學號char name[20]; //名字為字符串char sex; //性別int age; //年紀float score; //分數char addr[30]; 地址為字符…

【前端基礎】10、CSS的偽元素(::first-line、::first-letter、::before、::after)【注:極簡描述】

一、偽元素的作用 選取某個特定的元素。 二、::first-line、::first-letter ::first-line&#xff1a;針對首行文本設置屬性 ::first-letter&#xff1a;針對首字母設置屬性 三、::before、::after 在一個元素之前&#xff08;::before&#xff09;或者之后&#xff08;…

系統漏洞掃描服務:維護網絡安全的關鍵與服務原理?

系統漏洞掃描服務是維護網絡安全的關鍵措施&#xff0c;能夠迅速發現系統中的潛在風險&#xff0c;有效預防可能的風險和損失。面對網絡攻擊手段的日益復雜化&#xff0c;這一服務的重要性日益顯著。 服務原理 系統漏洞掃描服務猶如一名恪盡職守的安全守護者。它運用各類掃描…

從 Excel 到 Data.olllo:數據分析師的提效之路

背景&#xff1a;Excel 的能力邊界 對許多數據分析師而言&#xff0c;Excel 是入門數據處理的第一工具。然而&#xff0c;隨著業務數據量的增長&#xff0c;Excel 的一些固有限制逐漸顯現&#xff1a; 操作容易出錯&#xff0c;難以審計&#xff1b; 打開或操作百萬行數據時&…

框架的源碼理解——V3中的ref和reactive

最近在研究各個框架的源碼&#xff0c;從源碼角度去理解 vue3 的 reactive 和 ref API&#xff0c;記錄下研究的成果 reactive 首先&#xff0c;reactive() 的參數必須是一個對象&#xff0c;返回值是一個 Proxy 對象&#xff0c;具有響應性。如果參數不是對象類型&#xff0…

能源數字化轉型關鍵引擎:Profinet轉Modbus TCP網關驅動設備協同升級

在工業自動化的世界中&#xff0c;ModbusTCP和Profinet是兩個非常重要的通訊協議。ModbusTCP以其開放性和易用性&#xff0c;被廣泛應用于各種工業設備中&#xff1b;而Profinet則以其高效性和實時性&#xff0c;成為了眾多高端設備的首選。然而&#xff0c;由于這兩種協議的差…

【ant design】ant-design-vue 4.0實現主題色切換

官網&#xff1a;Ant Design Vue — An enterprise-class UI components based on Ant Design and Vue.js 我圖方便&#xff0c;直接在 app.vue 中加入的 <div class"app-content" v-bind:class"appOption.appContentClass"><a-config-provider…

一個指令,讓任意 AI 快速生成思維導圖

大家好&#xff0c;我是安仔&#xff0c;一個每天都在壓榨 AI 的躺平打工人。 今天分享一個 AI 辦公小技巧&#xff0c;讓你用一個指令讓 AI 生成思維導圖。 DeepSeek、Kimi、豆包都可以哈 &#xff5e; KimiXMind 安仔經常用 XMind 來繪制思維導圖&#xff0c;但是 AI 是沒…