CentOS安装Maven教程-shell脚本一键安装配置

文章目录

  • 前言
  • 一、Maven安装教程
    • 1. 确认系统环境
    • 2. 下载和解压Maven
    • 3. 配置环境变量
    • 4. 验证安装
    • 5. 设置镜像站
  • 二、Maven安装教程(使用shell脚本一键安装配置)
    • 1. 复制脚本
    • 2. 增加执行权限
    • 3. 执行脚本
    • 4. 加载用户环境变量
  • 总结


前言

本教程将介绍如何在CentOS系统上安装和配置Maven。Maven是一个流行的项目管理工具,用于构建、部署和管理Java项目。

该教程提供两种方法来完成Maven的安装和配置:一种是手动下载并解压缩文件,然后进行环境变量的设置;另一种是使用Shell脚本自动化执行这些步骤。


一、Maven安装教程

1. 确认系统环境

在开始安装Maven之前,请确保您的CentOS系统已经正确设置了Java环境。可以通过以下命令检查Java是否已正确安装:

java -version

如果显示了Java版本信息,则表示已成功安装。

若未安装,使用以下命令安装:

yum -y install java-1.8.0-openjdk-devel."$(uname -m)"

2. 下载和解压Maven

首先,我们需要下载Apache Maven。使用以下命令下载:

wget https://archive.apache.org/dist/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz -P /tmp

使用以下命令创建安装文件夹:

mkdir -p /opt/module/maven

接下来,使用以下命令解压缩下载好的文件:

tar -zxvf /tmp/apache-maven-3.6.2-bin.tar.gz -C /opt/module/maven/

3. 配置环境变量

为了能够全局访问和使用Mavne,在配置完成后需要设置相应的环境变量。

使用以下命令添加环境变量:

echo >> ~/.bashrc
echo '#MAVEN_HOME' >> ~/.bashrc
echo 'export MAVEN_HOME=/opt/module/maven/apache-maven-3.6.2' >> ~/.bashrc
echo 'export PATH=$PATH:$MAVEN_HOME/bin' >> ~/.bashrc

然后,运行以下命令使环境变量生效:

source ~/.bashrc

4. 验证安装

现在,您可以验证Maven是否已成功安装。在终端中输入以下命令:

mvn -version

如果一切正常,您将看到类似下面的输出信息:

Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-27T23:06:16+08:00)
Maven home: /opt/module/maven/apache-maven-3.6.2
Java version: 1.8.0_381, vendor: Oracle Corporation, runtime: /opt/module/jdk1.8.0_381/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.el7.x86_64", arch: "amd64", family: "unix"

恭喜!您已经成功地在CentOS上安装了Maven。

5. 设置镜像站

设置镜像站可以加快下载速度,运行以下命令设置aliyun镜像站:

sed -i '/<\/mirrors>/i <mirror><id>nexus-aliyun</id><mirrorOf>*</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url></mirror>' /opt/module/maven/apache-maven-3.6.2/conf/settings.xml

二、Maven安装教程(使用shell脚本一键安装配置)

1. 复制脚本

首先,将以下脚本内容复制并保存为/tmp/install_maven.sh文件。

#!/bin/bash# 安装版本
mvn_version="3.6.2"
# 安装目录
mvn_installDir="/opt/module/maven"aliyun_mirror='\<mirror>\<id>nexus-aliyun</id>\<mirrorOf>*</mirrorOf>\<name>Nexus aliyun</name>\<url>http://maven.aliyun.com/nexus/content/groups/public</url>\</mirror>'install_maven() {local version=$1local installDir=$2# 下载地址local downloadUrl="https://archive.apache.org/dist/maven/maven-${version:0:1}/$version/binaries/apache-maven-$version-bin.tar.gz"if [ -z "$(command -v wget)" ]; thenyum -y install wgetif [ $? -eq 0 ]; thenecho "wget安装完成"elseecho "wget安装失败,请检查"exit 1fifiif [ -z "$JAVA_HOME" ]; thenyum -y install java-1.8.0-openjdk-devel."$(uname -m)"if [ $? -eq 0 ]; thenecho "jdk1.8安装完成"elseecho "jdk1.8安装失败,请检查"exit 1fifiif [ ! -d "${installDir}" ]; thenmkdir -p "${installDir}"if [ $? -eq 0 ]; thenecho "安装目录${installDir}已创建"elseecho "请确保您有足够的权限来创建目录,请增加权限后再次执行"exit 1fifiif [ ! -f "/tmp/apache-maven-$version-bin.tar.gz" ] ; thenwget "$downloadUrl" -P /tmpif [ $? -eq 0 ]; thenecho "apache-maven-$version-bin.tar.gz下载成功"elseecho "apache-maven-$version-bin.tar.gz下载失败,请重试或手动下载到/tmp目录下再次执行"echo "下载地址:$downloadUrl"exit 1fielseecho "/tmp/apache-maven-$version-bin.tar.gz文件已存在"fiif [ -d "${installDir}/apache-maven-$version" ]; thenecho "${installDir}/apache-maven-$version 已存在,正在删除..."rm -rf "${installDir}/apache-maven-$version"fitar -zxvf "/tmp/apache-maven-$version-bin.tar.gz" -C "${installDir}"if [ $? -eq 0 ]; thenecho "apache-maven-$version-bin.tar.gz解压成功"elseecho "apache-maven-$version-bin.tar.gz解压失败,请查看异常信息后重试"exit 1fiif [ -z "$MAVEN_HOME" ]; then# 设置hadoop用户环境变量echo >> ~/.bashrcecho '#MAVEN_HOME' >> ~/.bashrcecho "export MAVEN_HOME=${installDir}/apache-maven-$version" >> ~/.bashrcecho 'export PATH=$PATH:$MAVEN_HOME/bin' >> ~/.bashrcelseecho "MAVEN_HOME已有设置:$MAVEN_HOME"fised -i '/<\/mirrors>/i '"$aliyun_mirror"'' /opt/module/maven/apache-maven-3.6.2/conf/settings.xmlif [ $? -eq 0 ]; thenecho "aliyun镜像站设置成功"elseecho "aliyun镜像站设置失败,请查看异常信息后重试"exit 1fiecho "maven下载、安装、配置完成"
}install_maven "$mvn_version" "$mvn_installDir"exit 0

2. 增加执行权限

在终端中执行以下命令,为脚本添加执行权限。

chmod a+x /tmp/install_maven.sh

3. 执行脚本

执行以下命令,运行脚本开始下载、安装和配置Kafka。

/tmp/install_maven.sh

请等待安装完成,如有异常会有提示。

成功如下图所示:

在这里插入图片描述

4. 加载用户环境变量

执行以下命令,加载环境变量。

source ~/.bashrc

总结

通过本教程,您学会了在CentOS系统上安装和配置Apache Maven。首先确认系统环境,并通过命令检查是否已正确安装Java。然后下载并解压缩Maven文件,并设置相应的环境变量使其全局可访问。最后验证是否成功地安装了Maven,并可以选择性地设置镜像站以加快下载速度。

希望本教程对您有所帮助!如有任何疑问或问题,请随时在评论区留言。感谢阅读!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/585617.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于ssm的程序设计实践项目管理系统+jsp论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本实践项目管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息…

swift-碰到的问题

如何让工程不使用storyboard和scene 删除info.plist里面的Application Scene mainifest 删除SceneDelegate.swift 删除AppDelegate.swift里面的这两个方法 func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession…

【年度征文】回顾2023,迎接2024

转眼一年~~2023又到年底了&#xff0c;CSDN年度征文如约而至&#xff01;不知不觉又在CSDN平台写了488篇博文&#xff0c;非常感谢CSDN提供的平台&#xff0c;同时也感谢关注和支持博主的粉丝们&#xff0c;在马上到来新的一年里&#xff0c;我会继续努力&#xff01;也非常感谢…

<JavaEE> 协议格式 -- 应用层协议 HTTP

目录 一、HTTP的概念 1&#xff09;什么是HTTP协议&#xff1f; 2&#xff09;什么是超文本&#xff1f; 二、HTTP协议格式 三、请求&#xff08;request&#xff09; 1&#xff09; 方法&#xff08;Method&#xff09; 1> GET方法 2> POST方法 3> GET和POS…

linux下docker搭建mysql8

1&#xff1a;环境信息 centos 7,mysql8 安装docker环境 2.创建mysql容器 2.1 拉取镜像 docker pull mysql:8.0.23 2.2 查询镜像拉取成功 docker images 2.3 创建挂载的目录文件 mkdir /usr/mysql8/conf mkdir /usr/mysql8/data ##给data文件赋予操作权限 chmod 777 /…

mfc100u.dll文件丢失了要怎么解决?修复mfc100u.dll详细指南

mfc100u.dll文件丢失了要怎么解决?首先让我们扒一扒什么是 mfc100u.dll。这玩意儿是 Microsoft Visual Studio 2010 的一部分&#xff0c;它就像一款程序生活中不可或缺的零件&#xff0c;没了它&#xff0c;程序肯定跑不起来。想想看&#xff0c;没有一个重要的零件&#xff…

DOA估计算法——迭代自适应算法(IAA)

1 简介 迭代自适应法 (Iterative Adaptive Approach&#xff0c;IAA)估计算法最早由美国的电气工程师和数学家Robert Schmidt和Roy A. Kuc在1986年的一篇论文"Multiple Emitter Location and Signal Parameter Estimation"中首次提出了这一算法&#xff0c; IAA DOA …

jQuery显示,切换,隐藏的使用练习

<!DOCTYPE html> <html> <head lang"en"><meta charset"UTF-8"><title>标题</title><style>div {width: 200px;height: 200px;background-color: red;display: none;}</style> </head> <body>…

thinkphp+vue+mysql企业车辆管理系统m117l

“企业车辆管理系统”是运用php语言和vue框架&#xff0c;以Mysql数据库为基础而发出来的。为保证我国经济的持续性发展&#xff0c;必须要让互联网信息时代在我国日益壮大&#xff0c;蓬勃发展。伴随着信息社会的飞速发展&#xff0c;企业车辆管理系统所面临的问题也一个接一个…

提升效率:使用注解实现精简而高效的Spring开发

IOC/DI注解开发 1.0 环境准备1.1 注解开发定义bean步骤1:删除原XML配置步骤2:Dao上添加注解步骤3:配置Spring的注解包扫描步骤4&#xff1a;运行程序步骤5:Service上添加注解步骤6:运行程序知识点1:Component等 1.2 纯注解开发模式1.2.1 思路分析1.2.2 实现步骤步骤1:创建配置类…

SpringBoot整合Canal

一 linux docker compose版本 1.第一步&#xff1a;基础环境 &#xff08;1&#xff09;第1步&#xff1a;安装jak、maven、git、nodejs、npm yum install maven mvn -v 安装maven时会帮安装jdkyum install git git --version 2.27.0yum in…

【C++】开源:libev事件循环库配置使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍libev事件循环库配置使用。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c…

Java EE Servlet之Servlet API详解

文章目录 1. HttpServlet1.1 核心方法 2. HttpServletRequest3. HttpServletResponse 接下来我们来学习 Servlet API 里面的详细情况 1. HttpServlet 写一个 Servlet 代码&#xff0c;都是要继承这个类&#xff0c;重写里面的方法 Servlet 这里的代码&#xff0c;只需要继承…

企业如何做好内容?媒介盒子分享

在个性化算法的支持下&#xff0c;企业通过创作优质内容使消费者主动选择企业的时代已经来临&#xff0c;对于中小企业来说&#xff0c;这是能够低成本进行营销的好机会。但是有许多企业对内容的理解依旧是片面的&#xff0c;今天媒介盒子就来和大家聊聊&#xff1a;企业如何做…

Spring-5-切入点的高级使用

Spring提供了两个额外的Pointcut实现&#xff0c;分别是ComposablePointcut和ControlFlowPointcut,它们提供了所需的灵活性。 使用控制流切入点 由ControlFlowPointcut类实现的Spring控制流切入点类似于许多其他AOP实现中可用的cflow构造&#xff0c;尽管功能上没有那么强大。…

yolov5简单手势识别

实验目的 实验要求只需要识别五个简单的手势即可&#xff0c;分别对应的一下五个动作 动作对应标签名点赞goodOKok单手比心love数字 5five数字8eight 使用yolov5实现目标检测功能&#xff0c;有一下几个主要步骤 环境配置&#xff08;包括conda、labelimg、yolov5的下载&am…

SAP CO系统配置-与PS集成相关配置(机器人制造项目实例)

维护分配结构 配置路径 IMG菜单路径:控制>内部订单>实际过帐>结算>维护分配结构 事务代码 OKO6 维护结算参数文件 定义利润分析码

焊点保护,选择使用焊点保护UV胶的优势有哪些?

快速固化 UV胶在受到紫外光照射后能够迅速固化&#xff0c;使得焊点保护的过程更加迅速。这种快速固化的特性有助于提高生产效率&#xff0c;减少等待时间。 精准涂覆 由于UV胶在受到紫外光照射后才开始固化&#xff0c;操作者有足够的时间来进行精准的涂覆和调整位置。这使…

SpringBoot 请求参数

文章目录 一、简单参数实体参数数组集合参数日期参数Json参数路径参数 一、简单参数 原始方式 在原始的web程序中&#xff0c;获取请求参数&#xff0c;需要通过HttpServletRequest 对象手动获取。 SpringBoot方式 1.参数名与形参变量名相同&#xff0c;定义形参即可接收参数。…

云短信平台优惠活动 - 华为OD统一考试

OD统一考试 题解: Java / Python / C++ 题目描述 某云短信厂商,为庆祝国庆,推出充值优惠活动。 现在给出客户预算,和优惠售价序列,求最多可获得的短信总条数。 输入描述 第一行客户预算M,其中 0<=M<=100 第二行给出售价表,P1,P2,… Pn, 其中 1<=n<=100…