当前位置: 首页 > article >正文

Maven 安装与配置指南(适用于 Windows、Linux 和 macOS)

Apache Maven 是一款广泛应用于 Java 项目的项目管理和构建工具。 本文提供在 Windows、Linux 和 macOS
系统上安装与配置 Maven 的详细步骤,旨在帮助开发者快速搭建高效的构建环境。


在这里插入图片描述

一、前置条件:安装 Java Development Kit (JDK)

Maven 依赖于 Java 运行环境,安装前需确保系统已安装 JDK(建议版本为 JDK 8 或更高)。

检查 JDK 安装情况

在终端或命令提示符中执行以下命令:

java -version

若系统返回 Java 版本信息,表示已正确安装 JDK。 若未安装,请先安装适合系统的 JDK 并配置相应的环境变量。


二、下载 Maven

访问 Apache Maven 官方下载页面:

https://maven.apache.org/download.cgi

选择最新稳定版本的二进制压缩包:(阿里云)

  • Windows:下载 .zip 文件
  • Linux/macOS:下载 .tar.gz 文件(腾讯云)

建议下载最新稳定版本(例如:3.9.9)。


三、安装与配置 Maven

1. 解压安装包

将下载的压缩包解压至指定目录,路径中避免包含空格或非 ASCII 字符。

示例路径:

  • WindowsC:\Program Files\apache-maven-3.9.9
  • Linux/macOS/usr/local/apache-maven-3.9.9

2. 配置环境变量

Windows 系统
  1. 设置系统环境变量 MAVEN_HOME,值为 Maven 的安装路径,例如:

    C:\Program Files\apache-maven-3.9.9

  2. 编辑系统环境变量 Path,添加:

    %MAVEN_HOME%\bin

Linux/macOS 系统
  1. 打开终端,编辑用户主目录下的 shell 配置文件:

    • Bash:~/.bashrc
    • Zsh:~/.zshrc
  2. 在文件末尾添加以下内容:(阿里云)

    export MAVEN_HOME=/usr/local/apache-maven-3.9.9
    export PATH=$MAVEN_HOME/bin:$PATH
    
  3. 保存文件并使配置生效:

    source ~/.bashrc  # 或 source ~/.zshrc
    

四、验证 Maven 安装

在终端或命令提示符中执行以下命令:

mvn -version

若系统返回 Maven 的版本信息,表示安装成功。


五、配置国内镜像源(可选)

为提高依赖包下载速度,可配置国内镜像源。

  1. 打开 Maven 安装目录下的 conf/settings.xml 文件。

  2. <mirrors> 标签中添加以下内容:

    <mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url>
    </mirror>
    

配置完成后,Maven 将优先从阿里云镜像下载依赖,提高下载速度。


六、配置本地仓库路径(可选)

默认情况下,Maven 将下载的依赖包存储在用户主目录下的 .m2/repository 目录中。 若需更改本地仓库位置,可在 settings.xml 文件中修改 <localRepository> 标签:

<localRepository>/path/to/your/repository</localRepository>

/path/to/your/repository 替换为期望的本地仓库路径。


七、在 IntelliJ IDEA 中配置 Maven(可选)

  1. 打开 IntelliJ IDEA,进入:

    File > Settings > Build, Execution, Deployment > Build Tools > Maven

  2. Maven home directory 中,选择 Maven 的安装路径。

  3. User settings file 中,选择配置了镜像源的 settings.xml 文件。

  4. 点击 ApplyOK 保存配置。

配置完成后,IntelliJ IDEA 将使用指定的 Maven 设置进行项目构建和依赖管理。


通过以上步骤,Maven 已在系统中成功安装并配置完毕。 可开始使用 Maven 管理和构建 Java 项目。

更多 Maven 使用方法和最佳实践,参考官方文档:

https://maven.apache.org/guides/index.html


相关文章:

Maven 安装与配置指南(适用于 Windows、Linux 和 macOS)

Apache Maven 是一款广泛应用于 Java 项目的项目管理和构建工具。 本文提供在 Windows、Linux 和 macOS 系统上安装与配置 Maven 的详细步骤&#xff0c;旨在帮助开发者快速搭建高效的构建环境。 一、前置条件&#xff1a;安装 Java Development Kit (JDK) Maven 依赖于 Java …...

android 媒体框架之MediaCodec

一、MediaCodec 整体架构与设计思想 MediaCodec 是 Android 底层多媒体框架的核心组件&#xff0c;负责高效处理音视频编解码任务。其架构采用 生产者-消费者模型&#xff0c;通过双缓冲区队列&#xff08;输入/输出&#xff09;实现异步数据处理&#xff1a; 输入缓冲区队列…...

堆与堆排序及 Top-K 问题解析:从原理到实践

一、堆的本质与核心特性 堆是一种基于完全二叉树的数据结构&#xff0c;其核心特性为父节点与子节点的数值关系&#xff0c;分为大堆和小堆两类&#xff1a; 大堆&#xff1a;每个父节点的值均大于或等于其子节点的值&#xff0c;堆顶元素为最大值。如: 小堆&#xff1a;每个…...

Linux中检查当前用户是不是root

Linux中检查当前用户是不是root 检查当前用户是否为root用户。如果是root用户&#xff0c;输出“当前用户是root”&#xff1b;否则&#xff0c;输出“当前用户不是root”。 创建一个 aaa.sh脚本文件 写入如下内容 #!/bin/bash# 检查当前用户的UID是否为0&#xff08;root用…...

软件锁:守护隐私,安心无忧

数字化时代&#xff0c;手机已成为我们生活中不可或缺的一部分&#xff0c;它不仅存储着我们的个人信息、照片、聊天记录等重要数据&#xff0c;还承载着我们的社交、娱乐和工作等多种功能。然而&#xff0c;这也意味着手机上的隐私信息面临着诸多泄露风险。无论是家人、朋友还…...

无人机桥梁3D建模、巡检、检测的航线规划

无人机桥梁3D建模、巡检、检测的航线规划 无人机在3D建模、巡检和检测任务中的航线规划存在显著差异&#xff0c;主要体现在飞行高度、航线模式、精度要求和传感器配置等方面。以下是三者的详细对比分析&#xff1a; 1. 核心目标差异 任务类型主要目标典型应用场景3D建模 生成…...

项目:贪吃蛇实现

头文件 snake.h #include<stdio.h> #include<stdlib.h> #include<windows.h> #include<locale.h> #include<stdbool.h> #include<time.h>#define POS_X 24#define POS_Y 5 #define BODY L● #define FOOD L★ #define KEY_PRESS(VK) ((…...

【Java基础05】面向对象01

文章目录 1. 设计对象并使用1.1 类与对象1.2 封装1.2.1 private关键字1.2.2 this关键字成员变量和局部变量的区别 1.2.3 构造方法1.2.4 标准JavaBean类 1.3 对象内存图 本文部分参考这篇博客 1. 设计对象并使用 1.1 类与对象 public class 类名{1、成员变量(代表属性,一般是名…...

设计模式:观察者模式 - 实战

一、观察者模式场景 1.1 什么是观察者模式&#xff1f; 观察者模式&#xff08;Observer Pattern&#xff09;观察者模式是一种行为型设计模式&#xff0c;用于定义一种一对多的依赖关系&#xff0c;当对象的状态发生变化时&#xff0c;所有依赖于它的对象都会自动收到通知并更…...

8.8 Primary ODSA service without ODSA Portal

主要ODSA服务&#xff08;不使用ODSA门户&#xff09; 以下场景描述如下情况&#xff1a; • 主ODSA客户端应用程序被允许用于该类型的主设备&#xff0c;且对终端用户启用&#xff08;已授权&#xff09;。 • 服务提供商&#xff08;SP&#xff09;能够在不涉及ODSA门户Web服…...

YOLOv8 移动端升级:借助 GhostNetv2 主干网络,实现高效特征提取

文章目录 引言GhostNetv2概述GhostNet回顾GhostNetv2创新 YOLOv8主干网络改进原YOLOv8主干分析GhostNetv2主干替换方案整体架构设计关键模块实现 完整主干网络实现YOLOv8集成与训练模型集成训练技巧 性能对比与分析计算复杂度对比优势分析 部署优化建议结论与展望 引言 目标检…...

国产化Word处理控件Spire.Doc教程:在 C# 中打印 Word 文档终极指南

在 C# 中以编程方式打印 Word 文档可以简化业务工作流程、自动化报告和增强文档管理系统。本指南全面探讨如何使用Spire.Doc for .NET打印 Word 文档&#xff0c;涵盖从基本打印到高级自定义技术的所有内容。我们将逐步介绍每种情况下的实际代码示例&#xff0c;确保您能够在实…...

java的vscode扩展插件

在 Visual Studio Code (VSCode) 中&#xff0c;Java 开发可以通过多种方式得到支持&#xff0c;包括安装专门的扩展插件。下面是一些流行的 VSCode 扩展插件&#xff0c;可以帮助你更好地进行 Java 开发&#xff1a; Language Support for Java(TM) by Red Hat 官方支持&…...

谷歌:贝叶斯框架优化LLM推理反思

&#x1f4d6;标题&#xff1a;Beyond Markovian: Reflective Exploration via Bayes-Adaptive RL for LLM Reasoning &#x1f310;来源&#xff1a;arXiv, 2505.20561 &#x1f31f;摘要 通过强化学习 (RL) 训练的大型语言模型 (LLM) 表现出强大的推理能力和紧急反射行为&a…...

Qt SQL模块基础

Qt SQL模块基础 一、Qt SQL模块支持的数据库 官方帮助文档中的Qt支持的数据库驱动如下图&#xff1a; Qt SQL 模块中提供了一些常见的数据库驱动&#xff0c;包括网络型数据库&#xff0c;如Qracle、MS SQL Server、MySQL等&#xff0c;也包括简单的单机型数据库。 Qt SQL支…...

[9-3] 串口发送串口发送+接收 江协科技学习笔记(26个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26中断...

java 微服务中,微服务相互调用 feign 和flux 如何选择

在 Java 微服务中&#xff0c;Feign 和 Flux&#xff08;通过 WebClient 实现&#xff09;是两种不同的服务间调用方式&#xff0c;主要区别体现在编程模型、通信机制和适用场景上。 1. 编程模型 FeignFlux (WebClient)同步阻塞式&#xff1a;基于传统 Servlet 模型&#xff0…...

如何在Qt中绘制一个带有动画的弧形进度条?

如何在Qt中绘制一个弧形的进度条 在图形用户界面开发中&#xff0c;进度指示控件&#xff08;Progress Widget&#xff09;是非常常见且实用的组件。CCArcProgressWidget 是一个继承自 QWidget 的自定义控件&#xff0c;用于绘制圆弧形进度条。当然&#xff0c;笔者看了眼公开…...

参加技术会议,为程序人生的职业生涯成长添砖加瓦

参加技术会议,为程序人生的职业生涯成长添砖加瓦 关键词:技术会议、程序员职业生涯、职业成长、技术交流、人脉拓展、知识体系升级、职业竞争力 摘要:在快速迭代的IT技术领域,参加技术会议已成为程序员突破职业瓶颈、构建核心竞争力的重要途径。本文从技术会议的核心价值出…...

国产三维CAD皇冠CAD(CrownCAD)建模教程:汽车电池

在线解读『汽车电池』的三维建模流程&#xff0c;讲解3D草图、保存实体、拉伸凸台/基体、设置外观等操作技巧&#xff0c;一起和皇冠CAD&#xff08;CrownCAD&#xff09;学习制作步骤吧&#xff01; 汽车电池&#xff08;通常指铅酸蓄电池或锂离子电池&#xff09;是车辆电气系…...

记录算法笔记(2025.5.28)只出现一次的数字

给你一个 非空 整数数组 nums &#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题&#xff0c;且该算法只使用常量额外空间。 示例 1 &#xff1a; 输入&#xff1…...

VMware-workstation安装教程--超详细(附带安装包)附带安装CentOS系统教程

VMware-workstation安装教程--超详细&#xff08;附带安装包&#xff09;附带安装CentOS系统教程 一、下载软件VMwware二、下载需要的镜像三、在VMware上安装系统 一、下载软件VMwware 二、下载需要的镜像 三、在VMware上安装系统 VMware 被 Broadcom&#xff08;博通&#x…...

2025年- H63-Lc171--33.搜索旋转排序数组(2次二分查找,需二刷)--Java版

1.题目描述 2.思路 输入&#xff1a;旋转后的数组 nums&#xff0c;和一个整数 target 输出&#xff1a;target 在 nums 中的下标&#xff0c;如果不存在&#xff0c;返回 -1 限制&#xff1a;时间复杂度为 O(log n)&#xff0c;所以不能用遍历&#xff0c;必须使用 二分查找…...

3D-激光SLAM笔记

目录 定位方案 编译tbb ros2humble安装 命令 colcon commond not found 栅格地图生成&#xff1a; evo画轨迹曲线 安装gtsam4.0.2 安装ceres-solver1.14.0 定位方案 1 方案一&#xff1a;改动最多 fasterlio 建图&#xff0c;加闭环优化&#xff0c;参考fast-lio增加关…...

Golang 配置国内代理

使用 GOPROXY 临时设置 export GOPROXYhttps://goproxy.cn,direct永久设置 go env -w GOPROXYhttps://goproxy.cn,direct再go get下载...

Android bindservice绑定服务,并同步返回service对象的两个方法

先上一段代码&#xff1a; private IDeviceService deviceService null; private ServiceConnection connnull; private synchronized void bindyourservice() { Intent intent new Intent();intent.setPackage("servicepackagename");intent.setAction("…...

5G 核心网 UE 状态深度剖析:机制、迁移与演进

摘要 本文围绕 5G 核心网中 UE(用户设备)状态展开系统分析,详细阐述了 UE 状态的定义、分类及特点,深入探讨各状态间的迁移流程与关键技术,并结合典型应用场景分析其实际价值。同时,对比 4G 技术剖析 5G 的改进之处,展望 6G 时代 UE 状态管理的演进方向,为 5G 网络优化…...

HomeKit 基本理解

概括 HomeKit 将用户的家庭自动化信息存储在数据库中&#xff0c;该数据库由苹果的内置iOS家庭应用程序、支持HomeKit的应用程序和其他开发人员的应用程序共享。所有这些应用程序都使用HomeKit框架作为对等程序访问数据库. Home 只是相当于 HomeKit 的表现层,其他应用在实现 …...

[SC]SystemC在CPU/GPU验证中的应用(三)

SystemC在CPU/GPU验证中的应用(三) 摘要:下面分享50个逐步升级SystemC编程能力的示例及建议的学习路线图。您可以一次一批地完成它们——从前五个基础的例子开始,然后转向channels, TLM, bus models, simple CPU/GPU kernels等等。在每个阶段掌握之后,再进行下一组…...

gunicorn多线程部署django导致的登陆错误

使用django写后端&#xff0c;认证系统使用了内存中的令牌存储&#xff08;authentication.py中的user_tokens字典&#xff09;。 from secrets import token_hex from .models import User# Create a custom token generation function def generate_token():return token_he…...