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

Linux Maven Install

在 CentOS(例如 CentOS 7 或 CentOS 8)中安装 Maven(Apache Maven)的方法主要有两种:使用包管理器(简单但可能版本较旧),或者手动安装(推荐,可获得最新版)。

原文地址 https://www.xiaozaoshu.top/articles/linux-maven-install


✅ 推荐方式:手动安装最新版 Maven

📌 步骤 1:下载 Maven 最新版本

  1. 打开 Maven 官网下载页
  2. 找到版本号(如 3.9.6),右键复制 tar.gz 链接:
wget https://downloads.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.gz

📌 步骤 2:解压并移动到系统目录

tar -zxvf apache-maven-3.9.6-bin.tar.gz
sudo mv apache-maven-3.9.6 /opt/maven

📌 步骤 3:配置环境变量

编辑 /etc/profile(全局)或 ~/.bash_profile(当前用户):

sudo vi /etc/profile

在末尾添加以下内容:

export M2_HOME=/opt/maven
export PATH=$M2_HOME/bin:$PATH

然后执行:

source /etc/profile

📌 步骤 4:验证安装

mvn -v

输出类似:

Apache Maven 3.9.6
Java version: 1.8.0_xx, vendor: Oracle Corporation
...

下面是一份适用于 CentOS 7/8 的 Maven 一键安装脚本

支持:

  • 自动下载指定版本(默认 Maven 3.9.6)
  • 解压到 /opt/maven
  • 自动配置系统环境变量(/etc/profile
  • 自动执行 source 生效

✅ 一键安装脚本内容(文件名建议为 install-maven.sh

#!/bin/bash# 设置版本号和安装目录
MAVEN_VERSION=3.9.6
MAVEN_DIR=/opt/maven
MAVEN_DOWNLOAD_URL=https://downloads.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz# 下载 Maven 安装包
echo "📦 正在下载 Maven ${MAVEN_VERSION}..."
wget -q $MAVEN_DOWNLOAD_URL -O /tmp/apache-maven-${MAVEN_VERSION}-bin.tar.gz# 解压并移动
echo "📂 正在解压..."
tar -zxf /tmp/apache-maven-${MAVEN_VERSION}-bin.tar.gz -C /tmp
sudo rm -rf $MAVEN_DIR
sudo mv /tmp/apache-maven-${MAVEN_VERSION} $MAVEN_DIR# 配置环境变量(写入 /etc/profile)
echo "⚙️ 正在配置环境变量..."
sudo sed -i '/M2_HOME/d' /etc/profile
sudo sed -i '/MAVEN_HOME/d' /etc/profile
sudo sed -i '/\/opt\/maven\/bin/d' /etc/profilesudo bash -c "cat >> /etc/profile" << EOF# Maven environment
export M2_HOME=${MAVEN_DIR}
export MAVEN_HOME=${MAVEN_DIR}
export PATH=\$M2_HOME/bin:\$PATH
EOF# 立即生效
echo "🔁 正在使环境变量生效..."
source /etc/profile# 验证结果
echo "✅ Maven 安装完成,版本为:"
mvn -v

✅ 使用方法

  1. 保存为文件

    vi install-maven.sh
    

    粘贴脚本内容后保存退出。

  2. 赋予执行权限并运行

    chmod +x install-maven.sh
    sudo ./install-maven.sh
    

🎉 安装成功后你将看到:

Apache Maven 3.9.6
Java version: 1.8.0_xx
...

相关文章:

Linux Maven Install

在 CentOS&#xff08;例如 CentOS 7 或 CentOS 8&#xff09;中安装 Maven&#xff08;Apache Maven&#xff09;的方法主要有两种&#xff1a;使用包管理器&#xff08;简单但可能版本较旧&#xff09;&#xff0c;或者手动安装&#xff08;推荐&#xff0c;可获得最新版&…...

#Java篇:学习node后端之sql常用操作

学习路线 1、javascript基础&#xff1b; 2、nodejs核心模块 fs: 文件系统操作 path: 路径处理 http / https: 创建服务器或发起请求 events: 事件机制&#xff08;EventEmitter&#xff09; stream: 流式数据处理 buffer: 处理二进制数据 os: 获取操作系统信息 util: 工具方…...

电网“逆流”怎么办?如何实现分布式光伏发电全部自发自用?

2024年10月9日&#xff0c;国家能源局综合司发布了《分布式光伏发电开发建设管理办法&#xff08;征求意见稿&#xff09;》&#xff0c;意见稿规定了户用分布式光伏、一般工商业分布式光伏以及大型工商业分布式光伏的发电上网模式&#xff0c;当选择全部自发自用模式时&#x…...

如何查看电脑电池性能

检查电脑电池性能的方法如下&#xff1a; 按下winR键&#xff0c;输入cmd回车&#xff0c;进入命令行窗口 在命令行窗口输入powercfg /batteryreport 桌面双击此电脑&#xff0c;把刚刚复制的路径粘贴到文件路径栏&#xff0c;然后回车 回车后会自动用浏览器打开该报告 红…...

kubernetes》》k8s》》kubectl proxy 命令后面加一个

命令后面加一个& 在Linux终端中&#xff0c;如果在命令的末尾加上一个&符号&#xff0c;这表示将这个任务放到后台去执行 kubectl proxy 官网资料 是 Kubernetes 提供的一个命令行工具&#xff0c;用于在本地和 Kubernetes API Server 之间创建一个安全的代理通道。…...

深入理解Linux系统进程切换

目录 引言 一、什么是进程切换&#xff1f; 二、进程切换的触发条件 三、进程切换的详细步骤 1、保存当前进程上下文&#xff1a; 2、更新进程控制块(PCB)&#xff1a; 3、选择下一个进程&#xff1a; 4、恢复新进程上下文&#xff1a; 5、切换地址空间&#xff1a; 6…...

网络安全运维实训室建设方案

一、网络安全运维人才需求与实训困境 在数字化时代&#xff0c;网络安全已成为国家安全、社会稳定和经济发展的重要基石。随着信息技术的飞速发展&#xff0c;网络安全威胁日益复杂多样&#xff0c;从个人隐私泄露到企业商业机密被盗&#xff0c;从关键基础设施遭受攻击到社会…...

DBeaver 连接mysql报错:CLIENT_PLUGIN_AUTH is required

DBeaver 连接mysql报错&#xff1a;CLIENT_PLUGIN_AUTH is required 一、必须要看这个 >> &#xff1a;参考文献 二、补充 2.1 说明 MySQL5、6这些版本比较老&#xff0c;而DBeaver默认下载的是MySQL8的连接库&#xff0c;所以连接旧版本mysql报错&#xff1a;CLIEN…...

联通专线赋能,亿林网络裸金属服务器:中小企业 IT 架构升级优选方案

在当今数字化飞速发展的时代&#xff0c;中小企业面临着日益增长的业务需求与复杂多变的市场竞争环境。如何构建高效、稳定且具性价比的 IT 架构&#xff0c;成为众多企业突破发展瓶颈的关键所在。而亿林网络推出的 24 核 32G 裸金属服务器&#xff0c;搭配联通专线的千兆共享带…...

Web3时代的数据保护挑战与应对策略

随着互联网技术的飞速发展&#xff0c;我们正步入Web3时代&#xff0c;这是一个以去中心化、用户主权和数据隐私为核心的新时代。然而&#xff0c;Web3时代也带来了前所未有的数据保护挑战。本文将探讨这些挑战&#xff0c;并提出相应的应对策略。 数据隐私挑战 在Web3时代&a…...

Qwen3与MCP协议:重塑大气科学的智能研究范式

在气象研究领域&#xff0c;从海量数据的解析到复杂气候模型的构建&#xff0c;科研人员长期面临效率低、门槛高、易出错的挑战。而阿里云推出的Qwen3大模型与MCP协议的结合&#xff0c;正通过混合推理模式与标准化协同机制&#xff0c;为大气科学注入全新活力。本文将深入解析…...

CppCon 2015 学习:Benchmarking C++ Code

关于性能问题与调试传统 bug&#xff08;如段错误&#xff09;之间差异的分析。以下是对这一页内容的详细解释&#xff1a; 主题&#xff1a;传统问题&#xff08;如段错误&#xff09;调试流程清晰 问题类型&#xff1a;段错误&#xff08;Segmentation Fault&#xff09; …...

URL 结构说明+路由(接口)的认识

一、URL 结构说明 以这个为例&#xff1a;http://127.0.0.1:5000/zhouleifeng 1.组成部分: http://&#xff1a;协议 127.0.0.1&#xff1a;主机&#xff08;本地地址&#xff09; :5000&#xff1a;端口号&#xff08;Flask 默认 5000&#xff09; /zhouleifeng&#xff1a…...

省赛中药检测模型调优

目录 一、baseline性能二、baseline DETR head三、baseline RepC3K2四、baseline RepC3K2 SimSPPF五、baseline RepC3K2 SimSPPF LK-C2PSA界面1.引入库2.读入数据 总结 一、baseline性能 Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size120/120 …...

linux 故障处置通用流程-36计+1计

通用标准处置快速索引 编号 通 用 标 准 处 置 索 引 001 Linux操作系统标准关闭 002 Linux操作系统标准重启 003 Linux操作系统强行关闭 004 Linux操作系统强行重启 005 检查Linux操作系统CPU负载 006 查询占用CPU资源最多的进程 007 检查Linux操…...

​BEV和OCC学习-3:mmdet3d 坐标系

目录 坐标系 转向角 (yaw) 的定义 框尺寸的定义 与支持的数据集的原始坐标系的关系 KITTI Waymo NuScenes Lyft ScanNet SUN RGB-D S3DIS 坐标系 坐标系 — MMDetection3D 1.4.0 文档https://mmdetection3d.readthedocs.io/zh-cn/latest/user_guides/coord_sys_tuto…...

[蓝桥杯]图形排版

图形排版 题目描述 小明需要在一篇文档中加入 NN 张图片&#xff0c;其中第 ii 张图片的宽度是 WiWi​&#xff0c;高度是 HiHi​。 假设纸张的宽度是 MM&#xff0c;小明使用的文档编辑工具会用以下方式对图片进行自动排版&#xff1a; 1. 该工具会按照图片顺序&#xff0…...

【Linux仓库】冯诺依曼体系结构与操作系统【进程·壹】

&#x1f31f; 各位看官好&#xff0c;我是&#xff01; &#x1f30d; Linux Linux is not Unix &#xff01; &#x1f680; 今天来学习冯诺依曼体系结构与操作系统。 &#x1f44d; 如果觉得这篇文章有帮助&#xff0c;欢迎您一键三连&#xff0c;分享给更多人哦&#xff0…...

CloudFront 加速详解:AWS CDN 怎么用?

让全球访问更快速稳定&#xff0c;深入解读 AWS 的内容分发网络 在上一篇中&#xff0c;我们介绍了 Amazon S3 对象存储&#xff0c;它非常适合托管静态资源&#xff0c;比如图片、视频、网页等。但你可能遇到过这样的问题&#xff1a; “我把网站静态文件部署到了 S3&#xf…...

《高级架构师》------- 考后感想

笔者来聊一下架构师考后的感想 复习备考 考前过了很多知识点&#xff0c;只是蜻蜓点水&#xff0c;没有起到复习的作用&#xff0c;即使考出来也不会&#xff0c;下次复习注意这个&#xff0c;复习到了&#xff0c;就记住&#xff0c;或者画出来&#xff0c;或者文件总结&…...

【iOS】YYModel源码解析

YYModel源码解析 文章目录 YYModel源码解析前言YYModel性能优势YYModel简介YYClassInfo解析YYClassIvarInfo && objc_ivarYYClassMethodInfo && objc_methodYYClassPropertyInfo && property_tYYClassInfo && objc_class YYClassInfo的初始化细…...

C++算法训练营 Day6 哈希表(1)

1.有效的字母异位词 LeetCode&#xff1a;242.有效的字母异位词 给定两个字符串s和t &#xff0c;编写一个函数来判断t是否是s的字母异位词。 示例 1: 输入: s “anagram”, t “nagaram” 输出: true 示例 2: 输入: s “rat”, t “car” 输出: false 解题思路&#xff…...

【C语言编译与链接】--翻译环境和运行环境,预处理,编译,汇编,链接

目录 一.翻译环境和运行环境 二.翻译环境 2.1--预处理(预编译) 2.2--编译 2.2.1--词法分析 2.2.2--语法分析 2.2.3--语义分析 2.3--汇编 2.4--链接 三.运行环境 &#x1f525;个人主页&#xff1a;草莓熊Lotso的个人主页 &#x1f3ac;作者简介&#xff1a;C研发…...

【JavaEE】多线程

8.线程状态 根据 Java 的Thread.state包&#xff0c;线程一共有六种状态&#xff1a; NEWRUNNABLEBLOCKEDWAITINGTIMED_WAITINGTERMINATED 二、每种状态的含义 1. NEW&#xff08;新建&#xff09; 当使用new 关键字创建一个线程对象&#xff0c;但尚未调用其start() 方法时…...

【项目】在线OJ(负载均衡式)

目录 一、项目目标 二、开发环境 1.技术栈 2.开发环境 三、项目树 目录结构 功能逻辑 编写思路 四、编码 1.complie_server 服务功能 代码蓝图 开发编译功能 日志功能 ​编辑 测试编译模块 开发运行功能 设置运行限制 jsoncpp 编写CR 如何生成唯一文件名 …...

贪心算法应用:在线租赁问题详解

贪心算法应用&#xff1a;在线租赁问题详解 贪心算法是一种在每一步选择中都采取当前状态下最优的选择&#xff0c;从而希望导致结果是全局最优的算法策略。在线租赁问题(Greedy Algorithm for Online Rentals)是一个经典的贪心算法应用场景&#xff0c;下面我将从多个维度全面…...

torch.zeros()用法简介

torch.zeros()是PyTorch中用于创建全零张量的核心函数&#xff0c;其功能和使用方法如下&#xff1a; 1. ‌基本语法‌ torch.zeros(*size, outNone, dtypeNone, layouttorch.strided, deviceNone, requires_gradFalse)参数说明&#xff1a; *size&#xff1a;定义张量形状的…...

Prj10--8088单板机C语言8259测试(1)

1.原理图 2.Deepseek示例代码 #include <dos.h> #include <conio.h> #include <stdio.h>#define PIC1_CMD 0x400 // 命令端口 (A00) #define PIC1_DATA 0x401 // 数据端口 (A01)volatile int int_count 0; // 中断计数器 void interrupt (*old_isr)(…...

3步在小米13手机跑DeepSeek R1

大家好&#xff01;我是羊仔&#xff0c;专注AI工具、智能体、编程。 一、从性能旗舰到AI主机 春节大扫除时&#xff0c;翻出尘封的小米13&#xff0c;这台曾以骁龙8 Gen2著称的性能小钢炮&#xff0c;如今正在执行更科幻的使命——本地运行DeepSeek R1。 想起两年前用它连续肝…...

数智管理学(十六)

二、分布式网络型结构的特点 分布式网络型结构是一种去中心化、扁平化和协作性的组织模式&#xff0c;与传统金字塔型结构形成鲜明对比。它通过赋予团队和个体更大的自主权&#xff0c;提升组织的灵活性和响应能力。 &#xff08;一&#xff09;节点化组织 1.模块化团队构成…...