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

Linux安装jdk和maven教程

一、文件目录结构

二、安装流程

2.1 官网下载jdk和maven的linux文件

jdk:Java Downloads | Oracle

maven:Download Apache Maven – Maven

2.2 编写shell文件

2.2.1 dev-ops/java/install-java-8.sh

#!/bin/sh# 定义JDK源文件和目标目录
JDK_SRC="/dev-ops/java/jdk-8u161-linux-x64.tar.gz"
JDK_DST="/usr/local/java"# 检查JDK源文件是否存在
if [ ! -f "$JDK_SRC" ]; thenecho "JDK 安装文件不存在: $JDK_SRC"exit 1
fi# 创建目标目录
mkdir -p "$JDK_DST"# 复制JDK压缩包到目标目录
cp "$JDK_SRC" "$JDK_DST"# 进入目标目录
cd "$JDK_DST"# 解压JDK压缩包
tar -zxvf "jdk-8u161-linux-x64.tar.gz"# 获取解压后的JDK目录名称
JDK_DIR=$(tar -tzf "jdk-8u161-linux-x64.tar.gz" | head -1 | cut -f1 -d"/")# 配置环境变量
echo "export JAVA_HOME=$JDK_DST/$JDK_DIR" >> /etc/profile
echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> /etc/profile
echo "export CLASSPATH=\$JAVA_HOME/jre/lib/ext:\$JAVA_HOME/lib/tools.jar" >> /etc/profile# 使环境变量立即生效
source /etc/profile# 输出安装完成
echo "Java installation completed."# 输出Java版本
java -version# 结束脚本
exit 0

2.2.2 dev-ops/java/install-maven.sh

#!/bin/bash# 定义变量
SOURCE_ZIP="/dev-ops/maven/apache-maven-3.8.8.zip"
TARGET_DIR="/usr/local/maven"
MAVEN_DIR_NAME="apache-maven-3.8.8"
MAVEN_HOME="$TARGET_DIR/$MAVEN_DIR_NAME"# 确保目标目录存在
mkdir -p $TARGET_DIR# 复制zip文件到目标目录
cp $SOURCE_ZIP $TARGET_DIR# 进入目标目录
cd $TARGET_DIR# 解压缩文件
unzip $SOURCE_ZIP# 配置环境变量并写入到 /etc/profile
echo "export MAVEN_HOME=$MAVEN_HOME" >> /etc/profile
echo 'export PATH=$PATH:$MAVEN_HOME/bin' >> /etc/profile# 使环境变量配置立即生效
source /etc/profile# 输出安装完成信息
echo "Maven installation completed."# 显示Maven版本
mvn -version

2.3 上传文件

利用Xftp,将dev-ops文件夹上传至linux系统根目录“/”

2.4 安装jdk和maven

安装jdk

# 进入目录
[root@dev-ops]# cd /dev-ops/java
# 添加权限
[root@dev-ops]# chmod +x install-java-8.sh
# 执行
[root@dev-ops]# ./install-java-8.sh
# 查看java安装是否成功
[root@dev-ops]# java -version
-bash: java: command not found
# 打印不出来版本信息,执行以下代码
# 重新加载系统环境变量
[root@dev-ops]# source /etc/profile 
[root@dev-ops]# java -version

安装maven

# 进入目录
[root@dev-ops]# cd /dev-ops/maven
# 添加权限
[root@dev-ops]# chmod +x install-maven.sh
# 执行
[root@dev-ops]# ./install-maven.sh
./install-maven.sh: line 19: unzip: command not found
Maven installation completed.
./install-maven.sh: line 32: mvn: command not found# 安装unzip
[root@dev-ops]# sudo yum install unzip -y
# 再次运行脚本
[root@dev-ops]# ./install-maven.sh # 重新加载系统环境变量
[root@yeqc dev-ops]# source /etc/profile 
[root@yeqc dev-ops]# mvn -version
Apache Maven 3.8.8 (4c87b05d9aedce574290d1acc98575ed5eb6cd39)

2.5 移除jdk和maven环境脚本

remove-java.sh

#!/bin/sh# 定义JDK目标目录
JDK_DST="/usr/local/java"# 获取JDK目录名称
if [ -d "$JDK_DST" ]; thenJDK_DIR=$(ls "$JDK_DST" | grep 'jdk' | head -n 1)
elseecho "JDK 目录不存在: $JDK_DST"exit 1
fi# 删除JDK目录
echo "正在删除JDK目录..."
rm -rf "$JDK_DST/$JDK_DIR"# 检查是否删除成功
if [ -d "$JDK_DST/$JDK_DIR" ]; thenecho "JDK 目录删除失败."exit 1
elseecho "JDK 目录已删除."
fi# 移除环境变量配置
echo "正在移除环境变量配置..."
sed -i '/JAVA_HOME/d' /etc/profile
sed -i '/CLASSPATH/d' /etc/profile# 重新加载环境变量
source /etc/profile# 输出卸载完成
echo "Java remove completed."# 结束脚本
exit 0

remove.maven.sh

#!/bin/bash# 定义变量
TARGET_DIR="/usr/local/maven"
MAVEN_DIR_NAME="apache-maven-3.8.8"
MAVEN_HOME="$TARGET_DIR/$MAVEN_DIR_NAME"# 删除 Maven 目录
if [ -d "$MAVEN_HOME" ]; thenrm -rf "$MAVEN_HOME"echo "Maven directory $MAVEN_HOME has been removed."
elseecho "Maven directory $MAVEN_HOME does not exist."
fi# 备份 /etc/profile
cp /etc/profile /etc/profile.bak# 从 /etc/profile 中移除 Maven 环境变量
sed -i '/MAVEN_HOME/d' /etc/profile
sed -i '/$MAVEN_HOME\/bin/d' /etc/profile# 重新加载 /etc/profile
source /etc/profile# 输出卸载完成信息
echo "Maven has been uninstalled."
http://www.dtcms.com/a/289231.html

相关文章:

  • 论文解读:基于时域相干累积的UWB Radar 生命体征检测
  • PyTorch里的张量及张量的操作
  • The FastMCP Client
  • 反欺诈业务 Elasticsearch 分页与导出问题分析及解决方案
  • Kotlin函数式接口
  • 第六章 提炼:萃取本质--创建第二大脑读书笔记
  • 【esp32s3】4 - 从零开始入门 MQTT
  • Selenium 处理动态网页与等待机制详解
  • 谷歌开源项目MCP Toolbox for Databases实操:Docker一键部署与配置指南
  • zabbix服务器告警处理
  • 搜索文本2.6.2(从word、wps、excel、pdf和txt文件中查找文本的工具)
  • Web服务压力测试工具hey学习一:使用方法
  • seo优化
  • UE5多人MOBA+GAS 番外篇:移植Lyra的伤害特效(没用GameplayCue,因为我失败了┭┮﹏┭┮)
  • 均值漂移累积监测算法(MDAM):原理、命名、用途及实现
  • C++现代编程之旅:从基础语法到高性能应用开发
  • JavaScript 对象操作、继承与模块化实现
  • 深度学习图像分类数据集—八种贝类海鲜食物分类
  • UDP中的单播,多播,广播(代码实现)
  • #SVA语法滴水穿石# (014)关于链式蕴含的陷阱
  • python生成密钥
  • FreeSwitch编译部署
  • 去中心化协作智能生态系统
  • DataFrame数据的常用方法
  • LeetCode 刷题【8. 字符串转换整数 (atoi), 9. 回文数】
  • 国产HMC7044调试记录
  • 【Elasticsearch】合适的锅炒合适的菜:性能与成本平衡原理公式解析
  • 拓展面试题之-rabbitmq面试题
  • MySQL笔记3
  • 试用SAP BTP 02:试用SAP HANA Cloud