TT Bigdata TT Bigdata
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 模板代码

    • 各类组件
    • 通用模板
  • 国产化&其他系统

    • Centos系列
    • Kylin系列
    • OpenEuler系列
    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 定制开发

    • 组件版本定制
    • 样式风格定制
  • 蓝图愿景
  • 技术支持
  • 合作共建
GitHub (opens new window)

JaneTTR

数据酿造智慧,每一滴都是沉淀!
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 模板代码

    • 各类组件
    • 通用模板
  • 国产化&其他系统

    • Centos系列
    • Kylin系列
    • OpenEuler系列
    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 定制开发

    • 组件版本定制
    • 样式风格定制
  • 蓝图愿景
  • 技术支持
  • 合作共建
GitHub (opens new window)
  • Ambari环境

  • JDK环境

  • MAVEN环境

    • ONEKEY——安装Maven3.8.4
      • 1、前提条件
      • 2、Maven 安装步骤
        • 2.1 下载 Maven 安装包
        • 2.2 解压 Maven 安装包
        • 2.3 配置环境变量
        • 2.4 验证 Maven 安装
      • 3、配置 update-alternatives
        • 3.1 切换 Maven 版本
      • 4、总结
        • 使用说明:
        • 脚本功能:
    • ONEKEY——安装Maven3.9.9
  • GRADLE环境

  • CONDA环境

  • R环境

  • 一键部署
  • MAVEN环境
JaneTTR
2025-04-06
目录

ONEKEY——安装Maven3.8.4

# 1、前提条件

在安装 Maven 之前,请确保您的系统满足以下条件:

提示

操作系统:Linux(适用于其他操作系统,安装步骤略有不同)
权限要求:需要有 sudo 权限
网络要求:需要网络连接,用于下载 Maven 安装包

# 2、Maven 安装步骤

# 2.1 下载 Maven 安装包

可以从 Maven 官网或者使用国内镜像源下载 Maven。以下是国内镜像源链接:

  • Maven 3.8.4 下载链接: Huawei Cloud Maven 3.8.4 下载链接 (opens new window)

# 2.2 解压 Maven 安装包

将下载的 Maven 安装包解压到指定目录:

#!/bin/bash

# 设置变量
MAVEN_FILE_PATH="/opt/modules/apache-maven-3.8.4-bin.tar.gz"
MAVEN_INSTALL_DIR="/opt/modules/apache-maven-3.8.4"

# 解压安装包
echo "Extracting Maven installation package..."
tar -zxvf "$MAVEN_FILE_PATH" -C "$MAVEN_INSTALL_DIR"

# 验证 Maven 是否成功解压
if [ $? -eq 0 ]; then
    echo "Maven installed successfully."
else
    echo "Maven installation failed."
    exit 1
fi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 2.3 配置环境变量

配置 MAVEN_HOME 和 PATH 环境变量,使系统能正确识别 Maven:

#!/bin/bash

# 配置 MAVEN_HOME 和 PATH
echo "Configuring MAVEN_HOME and PATH..."
echo "export MAVEN_HOME=${MAVEN_INSTALL_DIR}" | sudo tee -a /etc/profile
echo "export PATH=\$MAVEN_HOME/bin:\$PATH" | sudo tee -a /etc/profile

# 使配置生效
source /etc/profile

# 验证环境变量配置
echo "MAVEN_HOME is set to: $MAVEN_HOME"
echo "PATH is set to: $PATH"
1
2
3
4
5
6
7
8
9
10
11
12
13

# 2.4 验证 Maven 安装

安装完成后,可以通过以下命令检查 Maven 是否安装成功:

mvn -v
1

如果安装成功,您将看到类似以下的输出:

Apache Maven 3.8.4 (c3f1c4e4f8b4419fc6b5a1c5c3b1e4f0e30beff0; 2021-10-14T06:55:53+08:00)
Maven home: /opt/modules/apache-maven-3.8.4
Java version: 1.8.0_202, vendor: Oracle Corporation, runtime: /opt/modules/jdk1.8.0_202/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.15.153.1-microsoft-standard-wsl2", arch: "amd64", family: "unix"
1
2
3
4
5

笔记

如果输出 Maven 版本信息,说明 Maven 安装成功!

# 3、配置 update-alternatives

如果您的系统中有多个 Maven 版本,您可以使用 update-alternatives 来切换版本:

# 安装 Maven 到 alternatives
sudo update-alternatives --install /usr/bin/mvn mvn ${MAVEN_INSTALL_DIR}/bin/mvn 2

# 配置默认 Maven 版本
sudo update-alternatives --config mvn
1
2
3
4
5

# 3.1 切换 Maven 版本

执行 update-alternatives 后,您会看到一个菜单,选择需要的 Maven 版本即可。

# 4、总结

通过以上步骤,您已经成功安装并配置了 Maven。在 Linux 系统中,Maven 的安装过程相对简单,只需要下载、解压并配置环境变量即可。如果有多个 Maven 版本,您可以使用 update-alternatives 来进行版本管理。

注意

注意:确保环境变量正确配置,否则可能会导致 Maven 无法正常运行。

如有任何问题或需要进一步的帮助,请随时提出!


# 一键安装脚本

以下是 Maven 安装的一键安装脚本,可以自动化完成 Maven 下载、安装和配置环境变量。

#!/bin/bash
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Author: JaneTTR

set -ex

###########MAVEN_INIT start
echo "############## SETUP MAVEN_INIT start #############"

# Maven path and URL
MAVEN_VERSION="3.8.4"
MAVEN_FILE_PATH="/opt/modules/apache-maven-${MAVEN_VERSION}-bin.tar.gz"
MAVEN_HOME_PATH="/opt/modules/apache-maven-${MAVEN_VERSION}"
MAVEN_DOWNLOAD_URL="https://repo.huaweicloud.com/apache/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz"
MAVEN_FILE_PATH_LOCK="/opt/.setup_maven.lock"
TAR_LOCK="/opt/.setup_maven_tar.lock"

# 解压缩函数
extract_tar_gz() {
  local file_path=$1
  local dest_dir=$2

  if [ -f "$TAR_LOCK" ]; then
    return
  else
    touch $TAR_LOCK
  fi

  echo "Extracting file $file_path to directory $dest_dir..."
  tar -zxvf "$file_path" -C "$dest_dir"

  if [ $? -eq 0 ]; then
    echo "File extracted successfully: $dest_dir"
  else
    echo "File extraction failed"
    exit 1
  fi
  rm -f $TAR_LOCK
}

# 配置 MAVEN_HOME 函数
configure_maven_home() {
  # 使用 sed 命令更新或添加 MAVEN_HOME 变量
  if grep -q "^export MAVEN_HOME=" /etc/profile; then
    sudo sed -i "s#^export MAVEN_HOME=.*#export MAVEN_HOME=${MAVEN_HOME_PATH}#" /etc/profile
  else
    echo "export MAVEN_HOME=${MAVEN_HOME_PATH}" | sudo tee -a /etc/profile
  fi

  # 更新 PATH 变量,将 MAVEN_HOME/bin 放在前面
  if ! grep -q "^export PATH=.*\$MAVEN_HOME/bin" /etc/profile; then
    echo "export PATH=\$MAVEN_HOME/bin:\$PATH" | sudo tee -a /etc/profile
  fi

  # 重新加载 /etc/profile 文件以应用更改
  source /etc/profile

  # 验证 MAVEN_HOME 设置
  echo "MAVEN_HOME is set to: $MAVEN_HOME"
}

# 检查并下载 Maven 文件
check_and_download_maven() {
  if [ -f "$MAVEN_FILE_PATH" ]; then
    echo "Maven file exists: $MAVEN_FILE_PATH"
  elif [ -f "$MAVEN_FILE_PATH_LOCK" ]; then
    echo "Other instance downloading..."
  else
    touch $MAVEN_FILE_PATH_LOCK
    echo "Maven file does not exist, downloading..."
    mkdir -p "$(dirname "$MAVEN_FILE_PATH")"
    curl -o "$MAVEN_FILE_PATH" "$MAVEN_DOWNLOAD_URL"

    if [ $? -eq 0 ]; then
      echo "Maven download success: $MAVEN_FILE_PATH"
      extract_tar_gz "$MAVEN_FILE_PATH" "/opt/modules"
    else
      echo "Maven download failed!!"
      rm -f $MAVEN_FILE_PATH_LOCK
      exit 1
    fi
    rm -f $MAVEN_FILE_PATH_LOCK
  fi

  while [ -f "$MAVEN_FILE_PATH_LOCK" ]; do
    echo "Waiting for the lock to be released..."
    sleep 1
  done

  echo "Lock released. Continuing..."
}

main() {
  check_and_download_maven

  if [ -d "$MAVEN_HOME_PATH" ]; then
    echo "Maven home exists: $MAVEN_HOME_PATH"
  else
    extract_tar_gz "$MAVEN_FILE_PATH" "/opt/modules"
  fi

  configure_maven_home
}

main

###########MAVEN_INIT end
echo "############## SETUP MAVEN_INIT end #############"
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122

# 使用说明:

  1. 将脚本保存为 install_maven.sh。
  2. 给脚本添加执行权限:chmod +x install_maven.sh。
  3. 运行脚本进行 Maven 安装:./install_maven.sh。

# 脚本功能:

  • 自动下载 Maven 安装包:如果本地没有 Maven 文件,会自动下载并解压。
  • 配置 MAVEN_HOME 和 PATH:配置 MAVEN_HOME 环境变量并更新 PATH。
  • 一键安装:通过执行一条命令即可完成 Maven 安装和配置,简化安装过程。
#ONEKEY#Maven#安装#配置
ONEKEY——安装JDK 17
ONEKEY——安装Maven3.9.9

← ONEKEY——安装JDK 17 ONEKEY——安装Maven3.9.9→

最近更新
01
Pandoc 缺失导致 SparkR 构建失败
06-08
02
Cyrus SASL/GSASL 缺失解决
06-07
03
Hadoop_3.3.4 编译实战 1.0.0+
06-06
更多文章>
Theme by Vdoing | Copyright © 2017-2025 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式