Linux Maven编译机器配置教程
恭喜你完成了整个教程!现在你的 Linux 服务器已经是一台专业的 Maven 编译机器了!
📋 目录
- [环境准备与系统要求](#1-环境准备与系统要求)
- [基础工具安装](#2-基础工具安装)
- [JDK 安装配置](#3-jdk安装配置)
- [Maven 安装配置](#4-maven安装配置)
- [环境变量配置详解](#5-环境变量配置详解)
- [Maven 高级配置](#6-maven高级配置)
- [完整验证步骤](#7-完整验证步骤)
- [常见问题排查方案](#8-常见问题排查方案)
1. 环境准备与系统要求
1.1 硬件要求
|
配置 |
最低要求 |
推荐配置 |
|
CPU |
2 核 |
4 核及以上 |
|
内存 |
2GB |
4GB 及以上 |
|
硬盘 |
20GB |
50GB 及以上 |
|
网络 |
能访问外网 |
带宽 1Mbps 以上 |
1.2 支持的 Linux 发行版
本教程支持以下系统,请根据你的系统选择对应的命令:
- ✅ CentOS 7 / 8 / 9
- ✅ Ubuntu 20.04 / 22.04
- ✅ Debian 10 / 11
1.3 登录服务器
【重要】首先你需要通过 SSH 工具(如 Xshell、Putty、FinalShell)登录到你的 Linux 服务器。
登录成功后,你会看到类似这样的提示符:
[root@localhost ~]#
或者
user@ubuntu:~$
【提示】\# 表示 root 用户,$ 表示普通用户。本教程所有命令都可以复制粘贴直接执行。
2. 基础工具安装
在安装 JDK 和 Maven 之前,我们需要先安装一些基础工具。
2.1 更新系统软件包
【重要】请根据你的系统选择对应的命令!
👉 CentOS 7/8/9 用户执行:
yum update -y
👉 Ubuntu 20.04/22.04 / Debian 用户执行:
apt update -y && apt upgrade -y
【说明】这个命令会更新系统里的所有软件到最新版本,耐心等待完成即可。
2.2 安装必备基础工具
这些工具是后续操作必须的,一定要安装!
👉 CentOS 7/8/9 用户执行:
yum install -y wget curl vim tar unzip net-tools
👉 Ubuntu 20.04/22.04 / Debian 用户执行:
apt install -y wget curl vim tar unzip net-tools
【工具说明】:
wget:用来下载文件
curl:用来测试网络和下载
vim:用来编辑配置文件(小白必备)
tar:用来解压压缩包
unzip:用来解压 zip 文件
net\-tools:网络工具
2.3 验证基础工具安装成功
执行以下命令验证:
wget --version
✅ 预期输出(看到版本号就说明成功了):
GNU Wget 1.20.3 built on linux-gnu.
...
再验证 vim:
vim --version
✅ 预期输出:
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Apr 10 2021 19:08:10)
...
【恭喜】基础工具安装完成!可以进入下一步了。
3. JDK 安装配置
Maven 是 Java 开发工具,必须先安装 JDK。我们提供 3 个 LTS 版本供你选择:
- JDK 8:最稳定,兼容性最好,老项目推荐
- JDK 11:平衡之选,新项目推荐
- JDK 17:最新 LTS 版本,性能最好
3.1 方式一:二进制包安装(推荐小白使用)
这种方式最稳妥,不会有系统依赖问题。
第一步:创建安装目录
mkdir -p /usr/local/java
cd /usr/local/java
【说明】我们把所有软件都安装在 /usr/local/ 目录下,这是 Linux 的标准做法。
👉 选择 JDK 版本(三选一,不要都装!)
🟢 选项 A:安装 JDK 8
wget https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz
tar -zxvf jdk-8u202-linux-x64.tar.gz
🟢 选项 B:安装 JDK 11
wget https://repo.huaweicloud.com/openjdk/11.0.2/openjdk-11.0.2_linux-x64_bin.tar.gz
tar -zxvf openjdk-11.0.2_linux-x64_bin.tar.gz
🟢 选项 C:安装 JDK 17
wget https://repo.huaweicloud.com/openjdk/17.0.1/openjdk-17.0.1_linux-x64_bin.tar.gz
tar -zxvf openjdk-17.0.1_linux-x64_bin.tar.gz
【提示】下载速度慢没关系,耐心等待。华为云镜像已经比官方快很多了。
第二步:查看解压后的目录名
ls -la
你会看到类似这样的目录:
- JDK8:
jdk1\.8\.0\_202
- JDK11:
jdk\-11\.0\.2
- JDK17:
jdk\-17\.0\.1
【重要】记住这个目录名,后面配置环境变量要用!
3.2 方式二:包管理器安装(可选)
如果你不想手动下载,也可以用系统自带的包管理器安装。
👉 CentOS 7/8/9 用户:
# JDK 8
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
# JDK 11
yum install -y java-11-openjdk java-11-openjdk-devel
# JDK 17
yum install -y java-17-openjdk java-17-openjdk-devel
👉 Ubuntu 20.04/22.04 / Debian 用户:
# JDK 8
apt install -y openjdk-8-jdk
# JDK 11
apt install -y openjdk-11-jdk
# JDK 17
apt install -y openjdk-17-jdk
【注意】包管理器安装的 JDK 路径通常在 /usr/lib/jvm/ 目录下。
3.3 临时验证 JDK(环境变量配置前)
先进入 JDK 的 bin 目录测试一下:
# 以JDK8为例,根据你的实际路径修改
cd /usr/local/java/jdk1.8.0_202/bin
./java -version
✅ 预期输出:
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
【恭喜】看到版本号说明 JDK 文件没问题!接下来配置环境变量。
4. Maven 安装配置
Maven 我们提供 3 个主流版本:
- Maven 3.6.3:最稳定,兼容性最好,老项目推荐
- Maven 3.8.8:平衡之选,推荐大多数人使用
- Maven 3.9.6:最新版本,性能优化最好
4.1 下载并解压 Maven
第一步:创建安装目录
mkdir -p /usr/local/maven
cd /usr/local/maven
👉 选择 Maven 版本(三选一,不要都装!)
🟢 选项 A:安装 Maven 3.6.3
wget https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
tar -zxvf apache-maven-3.6.3-bin.tar.gz
🟢 选项 B:安装 Maven 3.8.8
wget https://archive.apache.org/dist/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
tar -zxvf apache-maven-3.8.8-bin.tar.gz
🟢 选项 C:安装 Maven 3.9.6
wget https://archive.apache.org/dist/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.gz
tar -zxvf apache-maven-3.9.6-bin.tar.gz
第二步:查看解压后的目录名
ls -la
你会看到类似这样的目录:
- Maven 3.6.3:
apache\-maven\-3\.6\.3
- Maven 3.8.8:
apache\-maven\-3\.8\.8
- Maven 3.9.6:
apache\-maven\-3\.9\.6
【重要】记住这个目录名!
4.2 临时验证 Maven
先进入 Maven 的 bin 目录测试一下:
# 以Maven 3.8.8为例,根据你的实际路径修改
cd /usr/local/maven/apache-maven-3.8.8/bin
./mvn -v
✅ 预期输出(会提示 JAVA_HOME 没设置,没关系):
Apache Maven 3.8.8 (......)
Maven home: /usr/local/maven/apache-maven-3.8.8
Java version: 1.8.0_202, vendor: Oracle Corporation
......
【恭喜】Maven 文件没问题!接下来配置环境变量。
5. 环境变量配置详解
这是最关键的一步!很多小白在这里翻车,请仔细看!
5.1 三个配置文件的区别
|
配置文件 |
位置 |
生效范围 |
生效时机 |
推荐使用场景 |
|
|
系统级 |
所有用户 |
用户登录时 |
✅ 服务器全局配置,推荐! |
|
|
用户级 |
当前用户 |
每次打开终端 |
仅当前用户需要时 |
|
|
用户级 |
当前用户 |
用户登录时 |
个人开发环境 |
【重要结论】:
- 👉 配置服务器:用
/etc/profile(所有用户都能用)
- 👉 仅自己用:用
\~/\.bashrc
5.2 开始配置环境变量
【推荐】我们使用 /etc/profile 进行全局配置。
第一步:编辑配置文件
vim /etc/profile
【小白 Vim 操作指南】:
- 打开文件后,按键盘上的
i键进入编辑模式(左下角会显示\-\- INSERT \-\-)
- 用方向键移动光标到文件最末尾
- 复制粘贴下面的环境变量配置
- 按
Esc键退出编辑模式
- 输入
:wq(冒号 + w+q)然后按回车保存退出
第二步:复制粘贴以下配置
【重要】请根据你实际安装的 JDK 和 Maven 路径修改!下面是示例:
# -------------------------- JDK环境变量 --------------------------
# 根据你安装的JDK版本修改下面这行!
export JAVA_HOME=/usr/local/java/jdk1.8.0_202
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
# -------------------------- Maven环境变量 --------------------------
# 根据你安装的Maven版本修改下面这行!
export MAVEN_HOME=/usr/local/maven/apache-maven-3.8.8
export PATH=${MAVEN_HOME}/bin:$PATH
【路径修改说明】:
- 如果装的是 JDK11:
/usr/local/java/jdk\-11\.0\.2
- 如果装的是 JDK17:
/usr/local/java/jdk\-17\.0\.1
- 如果装的是 Maven3.6.3:
/usr/local/maven/apache\-maven\-3\.6\.3
- 如果装的是 Maven3.9.6:
/usr/local/maven/apache\-maven\-3\.9\.6
第三步:使配置立即生效
source /etc/profile
【说明】这个命令让配置立即生效,不需要重启服务器!
5.3 验证环境变量配置
验证 JDK:
java -version
✅ 预期输出:
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
javac -version
✅ 预期输出:
javac 1.8.0_202
echo $JAVA_HOME
✅ 预期输出:
/usr/local/java/jdk1.8.0_202
验证 Maven:
mvn -v
✅ 预期输出(完美的输出应该是这样):
Apache Maven 3.8.8 (......)
Maven home: /usr/local/maven/apache-maven-3.8.8
Java version: 1.8.0_202, vendor: Oracle Corporation, runtime: /usr/local/java/jdk1.8.0_202/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.el7.x86_64", arch: "amd64", family: "unix"
【🎉 重大里程碑】看到这个输出,说明环境变量配置成功了!90% 的工作已经完成!
6. Maven 高级配置
这一步是优化配置,让 Maven 更好用、更快。
6.1 找到 settings.xml 位置
Maven 的配置文件在安装目录的 conf 文件夹下:
cd /usr/local/maven/apache-maven-3.8.8/conf
ls -la
你会看到 settings\.xml 文件。
6.2 配置阿里云镜像加速(必做!)
默认 Maven 从国外下载依赖,非常慢!一定要配置阿里云镜像!
编辑 settings.xml:
vim settings.xml
找到 \<mirrors\> 标签,在中间添加以下内容:
【小白操作】:找到 \<mirrors\> 和 \</mirrors\> 这两行,在它们中间粘贴下面的配置:
<mirrors>
<!-- 阿里云中央仓库镜像 -->
<mirror>
<id>aliyunmaven</id>
<mirrorOf>central</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/central</url>
</mirror>
<!-- 阿里云spring插件仓库 -->
<mirror>
<id>aliyunspring</id>
<mirrorOf>spring-milestones</mirrorOf>
<name>阿里云Spring仓库</name>
<url>https://maven.aliyun.com/repository/spring</url>
</mirror>
<!-- 阿里云谷歌仓库 -->
<mirror>
<id>aliyungoogle</id>
<mirrorOf>google</mirrorOf>
<name>阿里云Google仓库</name>
<url>https://maven.aliyun.com/repository/google</url>
</mirror>
<!-- 阿里云gradle插件仓库 -->
<mirror>
<id>aliyungradle</id>
<mirrorOf>gradle-plugin</mirrorOf>
<name>阿里云Gradle插件仓库</name>
<url>https://maven.aliyun.com/repository/gradle-plugin</url>
</mirror>
</mirrors>
6.3 配置本地仓库路径(可选但推荐)
默认本地仓库在 \~/\.m2/repository,建议改到空间更大的地方。
第一步:创建仓库目录
mkdir -p /data/maven/repository
第二步:在 settings.xml 中配置
找到 \<\!\-\- localRepository 注释的地方,在注释外面添加:
<!-- 本地仓库路径 -->
<localRepository>/data/maven/repository</localRepository>
【提示】这一行要放在 \<settings\> 标签内,\<mirrors\> 标签外面。
6.4 完整的 settings.xml 参考
如果你搞不清位置,可以直接用下面的完整配置替换整个文件:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- 本地仓库路径 -->
<localRepository>/data/maven/repository</localRepository>
<pluginGroups></pluginGroups>
<proxies></proxies>
<servers></servers>
<mirrors>
<!-- 阿里云中央仓库镜像 -->
<mirror>
<id>aliyunmaven</id>
<mirrorOf>central</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/central</url>
</mirror>
<mirror>
<id>aliyunspring</id>
<mirrorOf>spring-milestones</mirrorOf>
<name>阿里云Spring仓库</name>
<url>https://maven.aliyun.com/repository/spring</url>
</mirror>
<mirror>
<id>aliyungoogle</id>
<mirrorOf>google</mirrorOf>
<name>阿里云Google仓库</name>
<url>https://maven.aliyun.com/repository/google</url>
</mirror>
</mirrors>
<profiles></profiles>
</settings>
6.5 配置代理服务器(可选,公司内网需要时)
如果你的服务器在公司内网,需要通过代理上网,在 settings.xml 的 \<proxies\> 标签中添加:
<proxies>
<proxy>
<id>my-proxy</id>
<active>true</active>
<protocol>http</protocol>
<host>代理服务器地址</host>
<port>代理端口</port>
<username>用户名(没有就删了这行)</username>
<password>密码(没有就删了这行)</password>
<nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
</proxy>
</proxies>
7. 完整验证步骤
现在我们来做一次完整的验证,确保所有配置都正确!
7.1 基础环境验证
echo "===== 1. JDK验证 ====="
java -version
echo ""
echo "===== 2. Javac验证 ====="
javac -version
echo ""
echo "===== 3. JAVA_HOME验证 ====="
echo $JAVA_HOME
echo ""
echo "===== 4. Maven验证 ====="
mvn -v
echo ""
echo "===== 5. MAVEN_HOME验证 ====="
echo $MAVEN_HOME
echo ""
echo "===== 6. PATH验证 ====="
echo $PATH
✅ 全部都有正确输出就没问题!
7.2 编译测试项目(终极验证)
我们创建一个测试项目,实际编译一次!
# 创建测试目录
mkdir -p /test/maven-test
cd /test/maven-test
# 创建pom.xml
cat > pom.xml << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.test</groupId>
<artifactId>maven-test</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
EOF
创建 Java 源代码目录和文件:
mkdir -p src/main/java/com/test
cat > src/main/java/com/test/App.java << 'EOF'
package com.test;
public class App {
public static void main(String[] args) {
System.out.println("Hello Maven! 恭喜你配置成功!");
}
}
EOF
执行编译:
mvn clean package
✅ 成功标志:最后看到 BUILD SUCCESS!
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.123 s
[INFO] Finished at: 2024-01-01T12:00:00+08:00
[INFO] ------------------------------------------------------------------------
【🎊 恭喜!】看到 BUILD SUCCESS,说明你的 Maven 编译机器 100% 配置成功了!
8. 常见问题排查方案
这里整理了小白最容易遇到的 10 个问题,按出现频率排序:
❌ 问题 1:bash: mvn: 未找到命令 /command not found
症状:输入 mvn \-v 提示找不到命令
原因:环境变量没配置对,或者没生效
解决方案:
- 检查
/etc/profile里的路径是否正确
- 路径一定是到 Maven 安装目录,不是到 bin 目录
- 执行
source /etc/profile让配置生效
- 关闭终端重新登录再试
# 检查路径是否存在
ls /usr/local/maven/apache-maven-3.8.8/bin/mvn
# 如果文件存在但还是不行,重新source
source /etc/profile
# 还不行就重启服务器
reboot
❌ 问题 2:The JAVA_HOME environment variable is not defined correctly
症状:Maven 提示 JAVA_HOME 不对
原因:JAVA_HOME 路径配置错误
解决方案:
- JAVA_HOME 应该是到 JDK 的根目录,不是到 bin 目录
- ❌ 错误:
/usr/local/java/jdk1\.8\.0\_202/bin
- ✅ 正确:
/usr/local/java/jdk1\.8\.0\_202
- 配置完一定要
source /etc/profile
❌ 问题 3:Maven 下载依赖特别慢,一直卡着
症状:执行 mvn 命令后,一直在下载,速度几 KB/s
原因:没配置阿里云镜像,用的是国外中央仓库
解决方案:
- 按照教程第 6.2 节配置阿里云镜像
- 删除本地仓库缓存重新下载:
rm -rf ~/.m2/repository/*
# 或者你配置的仓库路径
rm -rf /data/maven/repository/*
❌ 问题 4:vim 编辑文件时不知道怎么保存退出
症状:打开 vim 后,输入不了字,或者不知道怎么退出
解决方案:Vim 标准操作流程:
- 按
i进入编辑模式(左下角显示 INSERT)
- 正常编辑内容
- 按
Esc退出编辑模式
- 输入
:wq保存并退出
- 输入
:q\!不保存强制退出
【小白口诀】:i 编辑,Esc 退出编辑,冒号 wq 保存退出
❌ 问题 5:wget 下载失败,提示无法建立 SSL 连接
症状:wget 下载 JDK 或 Maven 时失败
解决方案:
# 加上 --no-check-certificate 参数
wget --no-check-certificate 下载链接
或者用 curl 下载:
curl -L -O 下载链接
❌ 问题 6:权限不够,提示 Permission denied
症状:执行命令提示没有权限
原因:用普通用户操作,没有 root 权限
解决方案:
- 切换到 root 用户:
su root
- 或者在命令前加 sudo:
sudo yum install \-y wget
- 如果是文件权限问题:
# 给Maven目录添加执行权限
chmod -R 755 /usr/local/maven
chmod -R 755 /usr/local/java
❌ 问题 7:重启服务器后环境变量失效
症状:重启后 mvn 又找不到了
原因:只执行了 source,没有永久生效,或者配置文件写错了
解决方案:
- 确认是写在
/etc/profile而不是临时终端里
- 检查配置文件里有没有语法错误
- 可以把配置也写到
/etc/bashrc里双保险
- Ubuntu 用户额外配置到
/etc/environment
❌ 问题 8:tar 解压失败,提示 not in gzip format
症状:tar 解压时报错
原因:下载的文件不完整,或者下载链接不对
解决方案:
- 删除损坏的文件:
rm \-f 文件名\.tar\.gz
- 重新下载,最好用浏览器先确认链接能打开
- 检查文件大小:
ls \-lh,正常 JDK 应该有 100MB 以上
❌ 问题 9:编译报错:编码 GBK 的不可映射字符
症状:中文注释导致编译失败
解决方案:在 pom.xml 中添加编码配置:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
</properties>
❌ 问题 10:内存不足,编译时被 Killed
症状:编译大项目时突然退出,提示 Killed
原因:服务器内存不够
解决方案:
- 增加 Maven 内存参数:
export MAVEN_OPTS="-Xms512m -Xmx1024m"
- 或者加到环境变量里永久生效
- 升级服务器配置,至少 2GB 内存
❌ 问题 11(额外赠送):No compiler is provided in this environment
症状:提示找不到编译器
原因:只装了 JRE 没装 JDK,或者 JAVA_HOME 指向了 JRE
解决方案:
- 确认安装的是 JDK 不是 JRE
- JAVA_HOME 指向 JDK 根目录,不是 JRE 目录
- 安装 devel 包:
yum install java\-1\.8\.0\-openjdk\-devel
🎓 教程总结
恭喜你完成了整个教程!现在你的 Linux 服务器已经是一台专业的 Maven 编译机器了!
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)