Windows11与CentOS7下配置与检测JDK与Maven环境变量

news2025/1/14 0:45:50

安装过程参考我这篇:Java开发环境的搭建与测试及相关问题的解决

JDK

一、Windows

需要配置三个系统内变量,分别为CLASSPATHPATHJAVA_HOME

CLASSPATH 变量
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 或者 .;%java_home%\lib;%java_home%\lib\tools.jar

在这里插入图片描述

PATH 变量
系统变量path中添加 %JAVA_HOME%\bin%JAVA_HOME%\jre\bin

注意:在系统变量path中添加 %JAVA_HOME%\bin%JAVA_HOME%\jre\bin,分别点击‘上移’,将它们移动到第二个第三个位置。
在这里插入图片描述

将系统变量path中 C:\Windows\system32上移到第一位,这样的话,path系统变量就会呈现上下目录形式,如果不这样做,点击确定保存更改后,再次编辑系统变量path时,就会发现path系统变量会变成一个长条,非常难以修改和查看

1.1 只配置单个JDK的JAVA_HOME

JAVA_HOME D:\Java\jdk-1.8u371

1.2 同时配置多个JDK的JAVA_HOME

当需要使用JDK8时,就把JAVA_HOME配置成%JAVA_HOME8%
在这里插入图片描述
在这里插入图片描述

当需要使用JDK9时,就把JAVA_HOME配置成%JAVA_HOME9%
在这里插入图片描述
在这里插入图片描述

当需要使用JDK11时,就把JAVA_HOME配置成%JAVA_HOME11%
在这里插入图片描述
在这里插入图片描述

当需要使用JDK17时,就把JAVA_HOME配置成%JAVA_HOME17%
在这里插入图片描述
在这里插入图片描述

当需要使用JDK19时,就把JAVA_HOME配置成%JAVA_HOME19%

JAVA_HOME      %JAVA_HOME8%

JAVA_HOME8     D:\Java\jdk-1.8u371
JAVA_HOME9     D:\Java\jdk-9.0.4
JAVA_HOME11    D:\Java\jdk-11
JAVA_HOME17    D:\Java\jdk-17
JAVA_HOME19    D:\Java\jdk-19

1.3 安装Maven

download.cgi
maven-3
/maven-3/3.6.2/
/maven-3/3.6.2/binaries/

下载配置参考我这篇 Maven官方镜像仓库与阿里云云效Maven
apache-maven-3.6.2-bin.zipWindows的版本、apache-maven-3.8.7-bin.tar.gzlinux版本。

//1、配置系统变量MAVEN_HOME   
MAVEN_HOME            D:\develop\maven\apache-maven-3.3.3-bin\apache-maven-3.3.3

//2、配置系统变量path
在系统变量path中添加     %MAVEN_HOME%\bin

注意:配置完使用mvn -v命令检测时,需要重新打开新的cmd窗口进行检测。

2.1 CentOS7下配置JDK与Maven环境变量

2.1.1 不要安装java-1.8.0-openjdk

建议不要安装 java-1.8.0-openjdk ,默认安装目录JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.382.b05-1.el7_9.x86_64,而安装好maven后,使用mvn -v,检测maven版本会报错 JAVA_HOME should point to a JDK not a JRE

当时配置的环境变量(/etc/profile文件)

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.382.b05-1.el7_9.x86_64

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${PATH}:${JAVA_HOME}/bin

mvn文件的相关检测脚本(安装目录/data/maven/apache-maven-3.6.32/bin/mvn文件)

if [ -z "$JAVA_HOME" ] ; then
  JAVACMD=`which java`
else
  JAVACMD="$JAVA_HOME/bin/java"
fi

if [ ! -x "$JAVACMD" ] ; then
  echo "The JAVA_HOME environment variable is not defined correctly" >&2
  echo "This environment variable is needed to run this program" >&2
  echo "NB: JAVA_HOME should point to a JDK not a JRE" >&2
  exit 1
fi

mvn文件的相关检测脚本截图
在这里插入图片描述
并且 java-1.8.0-openjdk 目录JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.382.b05-1.el7_9.x86_64有jre目录,没有lib目录(使用tree -d命令查看树状图),导致环境变量配置export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib的配置是有问题的。

//安装tree命令
//1、安装tree  Fedora、RedHat、CentOS
yum install tree

//2、安装tree Ubuntu
apt get-intall tree

在这里插入图片描述

2.1.2 卸载java-1.8.0-openjdk

//1、卸载现有环境  查询java相关程序
//.noarch文件可以不用管,卸载其他的
rpm -qa | grep java

[root@freedomdjc jvm]# rpm -qa | grep java
tzdata-java-2023c-1.el7.noarch
python-javapackages-3.4.1-11.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.382.b05-1.el7_9.x86_64
java-1.8.0-openjdk-1.8.0.382.b05-1.el7_9.x86_64
javapackages-tools-3.4.1-11.el7.noarch
[root@freedomdjc jvm]# 

.noarch文件可以不用管,卸载其他的



//2-卸载
rpm -e --nodeps  java-1.8.0-openjdk-headless-1.8.0.382.b05-1.el7_9.x86_64
rpm -e --nodeps  java-1.8.0-openjdk-1.8.0.382.b05-1.el7_9.x86_64



//3-卸载后检测
[root@freedomdjc jvm]# java -version
-bash: /usr/bin/java: No such file or directory
[root@freedomdjc jvm]# 

在这里插入图片描述

2.2 安装jdk-8u371-linux-x64.tar.gz和配置环境变量/etc/profile

/etc/profile
jdk-8u371-linux-x64.tar.gz
在这里插入图片描述

//1、手动下载后使用xftp等文件上传到/usr/local目录 或者右击复制jdk下载链接使用wget命令下载
//上传jdk-8u371-linux-x64.tar.gz

//2-解压jdk-8u371-linux-x64.tar.gz
cd /usr/local
tar zxvf  jdk-8u371-linux-x64.tar.gz


//3-复制jdk到上一步创建的文件夹
//-r表示递归复制jdk1.8.0_371文件夹所有文件到java文件夹中(如果java文件夹不存在,就会自动创建。
cp -r ./jdk1.8.0_371/ /usr/local/java/


//4-配置环境变量
vim /etc/profile

在末尾添加
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin


或者
【我使用的是这个】
export JAVA_HOME=/usr/local/jdk1.8.0_371
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin


//5-使环境变量生效
source /etc/profile



//6-检测java
java -version

[root@freedomdjc java]# java -version
java version "1.8.0_371"
Java(TM) SE Runtime Environment (build 1.8.0_371-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.371-b11, mixed mode)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3 安装maven及配置环境变量 /etc/profile

/etc/profile
/3.6.2/binaries/
手动下载apache-maven-3.6.2-bin.tar.gz上传到/data/maven目录
或者
右击复制maven下载链接使用wget命令下载

//1-建目录
mkdir -p /data/maven
//存放maven的settings.xml配置文件配置的
//<localRepository>/data/maven/mavenData</localRepository>
//见 //8-配置maven的settings.xml文件
mkdir -p /data/maven/mavenData

//2-使用wget命令直接下载
wget https://archive.apache.org/dist/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz


//3-解压 tar zxvf apache-maven-3.6.2-bin.tar.gz
tar zxvf apache-maven-3.6.2-bin.tar.gz


//4-配置maven环境变量
vim  /etc/profile 或 vi  /etc/profile

export M2_HOME=/data/maven/apache-maven-3.6.2
export CLASSPATH=$CLASSPATH:$M2_HOME/lib
export PATH=$PATH:$M2_HOME/bin

//5-查看是否保存
cat /etc/profile

//6-刷新配置文件
source /etc/profile


//7-检查maven版本
mvn -v

[root@freedomdjc conf]# mvn -v
The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE
[root@freedomdjc conf]# 

2.4 配置maven的settings.xml文件

/data/maven/apache-maven-3.6.2/conf/settings.xml
Maven官方镜像仓库与阿里云云效Maven

2023-9-26 00:38:29
仓库名称              public 
阿里云仓库地址         https://maven.aliyun.com/repository/public
阿里云仓库地址(老版)    https://maven.aliyun.com/nexus/content/groups/public
源地址                central仓和jcenter仓的聚合仓

详细见  
https://developer.aliyun.com/mvn/guide
https://developer.aliyun.com/mvn/guide
https://developer.aliyun.com/mvn/guide
https://developer.aliyun.com/mvn/guide
//8-配置maven的settings.xml文件
//位于/data/maven/apache-maven-3.6.2/conf
cd /data/maven/apache-maven-3.6.2/conf
vim settings.xml



//9-主要配置本地maven仓库和远程maven仓库

<localRepository>/data/maven/mavenData</localRepository>


 <!--2023-9-23 21:50:18  配置mirrors>  -->   
 <mirror>
      <id>nexus-aliyun</id>
      <mirrorOf>Central</mirrorOf>
      <name>Nexus aliyun</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
 </mirror>
     


//10-检测java和maven    2023-9-26 00:45:25 补充

[root@freedomdjc java]# java -version
java version "1.8.0_371"
Java(TM) SE Runtime Environment (build 1.8.0_371-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.371-b11, mixed mode)
[root@freedomdjc java]# mvn -v
Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-27T23:06:16+08:00)
Maven home: /data/maven/apache-maven-3.6.2
Java version: 1.8.0_371, vendor: Oracle Corporation, runtime: /usr/local/java/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.el7.x86_64", arch: "amd64", family: "unix"
[root@freedomdjc java]# 

/etc/profile
在这里插入图片描述

三、参考

Java开发环境的搭建与测试及相关问题的解决
Maven官方镜像仓库与阿里云云效Maven
Downloading Apache Maven 3.9.4
JDK

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

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

相关文章

【image captioning】CaMEL: Mean Teacher Learning for Image Captioning(实现流程)

CaMEL: Mean Teacher Learning for Image Captioning(实现流程) 作者:安静到无声 个人主页 目录 CaMEL: Mean Teacher Learning for Image Captioning(实现流程)环境设置数据准备Evaluation训练程序推荐专栏参考代码: CaMEL: Mean Teacher Learning for Image Captioning.…

DFS 模板:843. n-皇后问题

n−n−皇后问题是指将 nn 个皇后放在 nnnn 的国际象棋棋盘上&#xff0c;使得皇后不能相互攻击到&#xff0c;即任意两个皇后都不能处于同一行、同一列或同一斜线上。 现在给定整数 nn&#xff0c;请你输出所有的满足条件的棋子摆法。 输入格式 共一行&#xff0c;包含整数 n…

8、Nacos服务注册服务端源码分析(七)

本文收录于专栏 Nacos 中 。 文章目录 前言确定前端路由CatalogController.listDetail()ServiceManager总结 前言 前文我们分析了Nacos中客户端注册时数据分发的设计链路&#xff0c;本文根据Nacos前端页面请求&#xff0c;看下前端页面中的服务列表的数据源于哪里。 确定前端…

Complete Probability Spaces

See https://math.stackexchange.com/questions/4095399/complete-probability-spaces

山西电力市场日前价格预测【2023-10-03】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-10-03&#xff09;山西电力市场全天平均日前电价为278.17元/MWh。其中&#xff0c;最高日前电价为477.85元/MWh&#xff0c;预计出现在18: 45。最低日前电价为0.00元/MWh&#xff0c;预计出…

概率论中的filtration中文叫什么?

1、2 - Financial Markets with Continuous Time- https://doi.org/10.1016/B978-1-78548-046-1.50002-8 2、Filtration (probability theory)-https://handwiki.org/wiki/Filtration_(probability_theory)#:~:textA%20filtration%20F%20%3D%20%28F%20i%29%20i%20%E2%88%88,…

lv6 嵌入式开发-Flappy bird项目(信号机制、定时器功能实现)

目录 1 信号(signal) 2 设置信号响应方式 – signal 3 设置定时器 4 示例 问题&#xff1a; getch()阻塞获取键盘按键输入&#xff0c; 怎么操作才能不影响小鸟下落和管道移动&#xff1f; getch如果阻塞&#xff0c;下面的程序都是无法执行。通过信号机制方式实现。 1 …

分享46个Python源代码总有一个是你想要的

分享46个Python源代码总有一个是你想要的 下载链接&#xff1a;https://pan.baidu.com/s/1oZPrXHwgzcvVpB36_dA72A?pwd8888 提取码&#xff1a;8888 chat-web项目的python后端 Django WEB商城网站项目 django-实时接口获取中国各个城市、省份、国家的新型冠状肺炎 NewsSp…

多线程 - 阻塞式队列

阻塞队列 阻塞队列,也是一个队列 ~~ 先进先出 实际上有一些特殊的队列,不一定非得遵守先进先出的 ~~ 优先级队列(PriorityQueue) 阻塞队列,也是特殊的队列,虽然也是先进先出的,但是带有特殊的功能: 阻塞 如果队列为空,执行出队列操作,就会阻塞.阻塞到另一个线程往队列里添加元…

Go:实现SMTP邮件发送订阅功能(包含163邮箱、163企业邮箱、谷歌gmail邮箱)

需求很简单&#xff0c;就是用户输入自己的邮箱后&#xff0c;使用官方邮箱给用户发送替邮件模版 目录 前置邮件模版邮箱开启SMTP服务163邮箱163企业邮箱谷歌gmail邮箱腾讯企业邮箱-失败其他邮箱-未操作 邮件发送核心代码config.yaml配置读取邮件相关配置发送邮件 附录 前置 邮…

深度学习笔记之线性代数

深度学习笔记之线性代数 一、向量 在数学表示法中&#xff0c;向量通常记为粗体小写的符号&#xff08;例如&#xff0c;x&#xff0c;y&#xff0c;z&#xff09;当向量表示数据集中的样本时&#xff0c;它们的值具有一定的现实意义。例如研究医院患者可能面临的心脏病发作风…

Ubuntu系统初始设置

更换国内源 安装截图工具 安装中文输入法 安装QQ 参考&#xff1a; 安装双系统win10Ubuntu20.04LTS&#xff08;详细到我自己都害怕&#xff09; 引导方式磁盘分区方法UEFIGPTLegancyMBR 安装网络助手 sudo apt install net-tools 安装VS Code 使用从官网下载.deb安装包…

MySQL使用Xtrabackup在线做主从

1、主库上操作 1.1前提 172.16.11.2&#xff08;主库&#xff09; 172.16.11.4&#xff08;从库&#xff09; 在执行备份之前&#xff0c;确保数据库没有锁定&#xff0c;以避免备份期间的任何写操作。 确保主库上的 MySQL 服务器正在运行&#xff0c;以便备份数据的一致性。…

八、2023.10.2.Linux(二).8

文章目录 17、简述一下虚拟内存和物理内存&#xff0c;为什么要用虚拟内存&#xff0c;好处是什么&#xff1f;18、虚拟地址到物理地址怎么映射的&#xff1f;19、说说堆栈溢出是什么&#xff0c;会怎么样&#xff1f;20、简述操作系统中malloc的实现原理?21、说说进程空间从高…

uboot启动流程-涉及board_init_f 函数

一. uboot启动流程 _main 函数中会调用 board_init_f 函数&#xff0c;本文简单分析一下 board_init_f 函数。 二. board_init_f 函数 board_init_f 函数主要有两个工作&#xff1a; (1) 初始化一系列外设&#xff0c;比如串口、定时器&#xff0c;或者打印一些消息等。…

Docker Tutorial

什么是Docker 为每个应用提供完全隔离的运行环境 Dockerfile&#xff0c; Image&#xff0c;Container Image&#xff1a; 相当于虚拟机的快照&#xff08;snapshot&#xff09;里面包含了我们需要部署的应用程序以及替它所关联的所有库。通过image&#xff0c;我们可以创建很…

音乐创作软件:ToneLIB Jam v4.7.8 Crack

从强大的选项卡编辑器到 3D 模式 Tonelib Jam 是一款用于播放和创作音乐的综合软件应用程序。TL Jam专为初学者和经验丰富的吉他手而设计&#xff0c;可以提供一个完美的平台来掌握乐器&#xff0c;让您轻松学习自己喜欢的歌曲或设置高效的日常吉他练习程序。TL Jam 具有功能强…

目标检测|边框检测框转换,交并比计算 代码实现

文章目录 1. 相互转换的函数2.交并比实现 在目标检测任务中&#xff0c;非常重要的一部分就是框出检测框 这就需要检测框的位置大小等一些信息 一般我们有如下两种方式标记一个检测的位置和大小 1 两点法 检测框左上角坐标(x1,y1)&#xff0c;检测框右下角坐标&#xff08;x2…

2023年最新云存储工具排行榜:找到适合你的云存储服务

随着数据规模的不断增长&#xff0c;传统的本地存储已经无法满足用户的需求。云存储工具通过提供灵活、安全和高效的数据存储服务&#xff0c;成为了现代化的数据管理方式。在众多云存储工具中&#xff0c;有一些在功能和性能方面表现出色&#xff0c;成为用户首选。下面是2023…

时间序列-AR模型与MA模型的原理与实现

文章目录 1 自回归模型AR Model1.1 自回归模型 vs 多元线性回归模型1.1.1 线性回归1.1.2 AR(1)模型1.1.3 AR(p)模型 1.2 AR建模问题 2 移动平均模型 MA Model2.1 MA模型的数学表示2.1.1 MA(1)模型2.2.2 MA(q)模型 2.2 MA建模问题 ARIMA模型是AR模型&#xff08;自回归模型&…