如何在服务器上安装 Maven

server/2024/12/18 17:27:07/

1. 安装Java Development Kit (JDK)

由于Maven依赖于Java运行环境,因此首先需要确保系统中已经安装了合适的JDK版本。

通过以下命令检查Java版本,

java -version

如果未安装JDK可以参考如何在服务器上安装 Java OpenJDK相关文档来安装特定版本的JDK。

2. 下载Maven

接下来,访问Maven官方网站或其镜像站点下载最新的稳定版Maven压缩包。为了提高下载速度,推荐使用国内的镜像源,如阿里云镜像站。你可以选择适合你需求的具体版本,并通过wget命令直接从Linux终端下载:

cd /usr/local/src/
sudo wget https://mirrors.aliyun.com/apache/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.tar.gz

这里以Maven 3.9.9为例,但请根据实际情况调整URL和文件名。

3. 解压并移动Maven

下载完成后,在/usr/local/src/目录下解压刚刚下载的压缩包,并将其移动到一个合适的位置,比如/usr/local/maven

sudo tar -zxvf apache-maven-3.9.9-bin.tar.gz -C /usr/local/
sudo mv /usr/local/apache-maven-3.9.9 /usr/local/maven

4. 配置环境变量

为了让系统能够识别Maven命令,我们需要设置环境变量。编辑全局配置文件/etc/profile,添加如下内容:

export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$MAVEN_HOME/bin

保存更改后,使新的环境变量生效:

source /etc/profile

5. 验证安装

完成上述步骤后,可以通过执行mvn -v命令来验证Maven是否正确安装以及查看当前使用的Maven版本信息。如果一切正常,你应该能看到类似下面的信息输出:

Apache Maven 3.9.9 (8e8579a9e76f7d015ee5ec7bfcdc97d260186937)
Maven home: /usr/local/maven
Java version: 17.0.8, vendor: Oracle Corporation, runtime: /www/server/java/jdk-17.0.8
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "5.14.0-539.el9.x86_64", arch: "amd64", family: "unix"

6. 配置本地仓库与镜像

为了加快依赖项的下载速度,建议配置本地仓库路径及中央仓库镜像。编辑/usr/local/maven/conf/settings.xml文件,找到<localRepository>标签定义本地仓库位置,并在<mirrors></mirrors>部分添加阿里云镜像服务器:

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

以上就是在服务器上安装Maven的基本流程。遵循这些步骤可以帮助你在Linux环境中顺利地部署Maven工具链。可以根据具体情况进行适当调整。


http://www.ppmy.cn/server/151223.html

相关文章

UE5.1_常用路径函数及指向(未完成)

UE5常用路径函数及指向到底是掌握了吗?为什么每次使用每次得查找呢?怎么才能牢牢地记住? 记住源于实实在在掌握,先跟着看,或许可以看到与以往不同的点。 FPaths | Unreal Engine Documentationhttps://docs.unrealengine.com/5.1/en-US/API/Runtime/Core/Misc/FPaths/ …

Element plus 下拉框组件选中一个选项后显示的是 value 而不是 label

最近刚进行 Vue3 Element plus 项目实践&#xff0c;在进行表单二次封装的时候&#xff0c;表单元素 select 下拉框组件选中一个选项后显示的是 value 而不是 label&#xff0c;下面上代码&#xff1a; 原来的写法&#xff1a; <el-selectv-if"v.type select"…

Python实现循环卷积算法

Python实现循环卷积算法 1 基本原理2 程序实现3 运行结果 本文介绍循环卷积算法的基本原理&#xff0c;并使用Python实现循环卷积算法。 1 基本原理 循环卷积的定义式是 y ( k ) ∑ n 0 N − 1 x ( n ) h ( k − n ) ; k 1 , 2... , N − 1 y(k) \sum_{n0}^{N-1}x(n)h(k-…

解决小程序中ios可以正常滚动,而Android失效问题

解决小程序中 iOS 可以正常滚动&#xff0c;而 Android 失效问题 在开发小程序时&#xff0c;我们经常会遇到一些平台兼容性问题。最近&#xff0c;我在开发一个小程序时遇到了一个问题&#xff1a;在 iOS 设备上可以正常滚动加载更多数据&#xff0c;而在 Android 设备上却无…

NVR小程序接入平台/设备EasyNVR深度解析H.265与H.264编码视频接入的区别

随着科技的飞速发展和社会的不断进步&#xff0c;视频压缩编码技术已经成为视频传输和存储中不可或缺的一部分。在众多编码标准中&#xff0c;H.265和H.264是最为重要的两种。今天我们来将深入分析H.265与H.264编码的区别。 一、H.265与H.264编码的区别 1、比特率与分辨率 H.…

计算机网络技术基础:1.计算机网络的产生与发展

从1946年世界上第一台计算机ENIAC的诞生&#xff0c;计算机网络的发展大体可分为以下4个阶段。 一、第一代计算机网络——面向终端的计算机网络 第一代计算机网络也称面向终端的计算机网络&#xff0c;它是以主机为中心的通信系统。这样的系统中&#xff0c;除一台中心计算机&…

游戏引擎学习第52天

仓库 : https://gitee.com/mrxiao_com/2d_game 这节的内容相当多 回顾 在游戏中&#xff0c;实体被分为不同的类别&#xff1a;接近玩家的“高频实体”、距离较远并正在模拟的“低频实体”和不进行更新的“休眠实体”。这些实体会根据它们与玩家的距离进行处理&#xff0c;接…

MongoDB-副本集

一、什么是 MongoDB 副本集&#xff1f; 1.副本集的定义 MongoDB 的副本集&#xff08;Replica Set&#xff09;是一组 MongoDB 服务器实例&#xff0c;它们存储同一数据集的副本&#xff0c;确保数据的高可用性和可靠性。副本集中的每个节点都有相同的数据副本&#xff0c;但…