JDK 环境变量设置

目录

一. 前言

二. 下载 JDK

2.1. JDK 8

2.2. JDK 17 

2.3. JDK 21

三. 环境变量设置

3.1. Windows 环境配置

3.1.1. 打开环境变量配置窗口

3.1.2. 配置环境变量 JAVA_HOME

3.1.3. 配置环境变量 CLASSPATH

3.1.4. 环境变量 Path 末尾追加

3.1.5. 检查JDK是否安装成功

3.2. Windows下JDK环境变量一键配置

3.3. Linux 环境配置

3.3.1. 解压JDK

3.3.2. /etc/profile 追加JDK配置

3.3.3. 保存修改

3.3.4. 重新加载配置文件

3.3.5. 验证


一. 前言

    JDK环境变量,简单来说,就是告诉电脑在哪里可以找到你的Java开发工具。在编写Java程序时,你需要在命令行或者集成开发环境(IDE)中使用命令来编译和运行它。如果你没有正确地配置JDK环境变量,你的操作系统就无法找到这些命令,因此无法编译和运行Java程序。

二. 下载 JDK

目前主要使用的版本有JDK8、JDK17、JDK21。

2.1. JDK 8

JDK 8u202 and earlier:Java Archive Downloads - Java SE 8

注:从此版本后的JDK开启了收费模式。

2.2. JDK 17 

JDK17.0.9:Java Downloads | Oracle

注:目前主推的LTS版本。

2.3. JDK 21

JDK 21.01.1:Java Downloads | Oracle

三. 环境变量设置

3.1. Windows 环境配置

以JDK 8为例:

3.1.1. 打开环境变量配置窗口

打开 我的电脑 -> 属性 -> 高级 -> 环境变量,如图:

3.1.2. 配置环境变量 JAVA_HOME

JAVA_HOME:D:\javaspace\jdk\jdk1.8.0_202

具体目录改成你自己的。

3.1.3. 配置环境变量 CLASSPATH

CLASSPATH:.;%JAVA_HOME%\lib

3.1.4. 环境变量 Path 末尾追加

Path:%JAVA_HOME%\bin

3.1.5. 检查JDK是否安装成功

在 cmd 中输入 java -version,出现如下图的情况即代表安装成功!

3.2. Windows下JDK环境变量一键配置

把如下脚本保存为 jdk-env-win.bat 文件

@echo off
title 一键设置JDK环境变量-流华追梦
echo -----------------------------------------------------
echo --                设置 JDK 环境变量                --
echo --                用管理员权限运行                 --
echo --               @Copyright 流华追梦               --
echo -----------------------------------------------------
echo.

if defined JAVA_HOME (
	echo JAVA_HOME环境变量已定义,请删除后重试!
	pause
	exit
)

if defined CLASSPATH (
	echo CLASSPATH环境变量已定义,请删除后重试!
	pause
	exit
)

:home
set /p javahome=请指定JDK根目录(JAVA_HOME):
echo JDK根目录为(JAVA_HOME):%javahome%
echo.

if not exist %javahome% (
    echo 目录 %javahome% 不存在,请检查后重试!
	goto home
)

wmic ENVIRONMENT where "name='Path' and UserName='<SYSTEM>'" get VariableValue|find ";">path_temp.txt
(set /p oldPath=)<path_temp.txt
del path_temp.txt
::去掉右侧空格
:delright
if "%oldPath:~-1%"==" " set oldPath=%oldPath:~0,-1%&&goto delright
::echo %oldPath%

::set remain=%oldPath%
:::loop
::for /f "tokens=1* delims=;" %%a in ("%remain%") do (
::	echo %%a
	::剩下的赋值给原来的副本,以备下次分段
::	set remain=%%b
::)
::如果还有剩余,则继续分割
::if defined remain goto :loop

setx /m "JAVA_HOME" "%javahome%"
setx /m "CLASSPATH" ".;%%JAVA_HOME%%\lib"
setx /m "Path" "%oldPath%%%JAVA_HOME%%\bin;"

echo JAVA_HOME: %javahome%
echo CLASSPATH: %%JAVA_HOME%%\lib
echo Path已追加: %%JAVA_HOME%%\bin;
echo.
echo.JDK环境变量已设置完成,结果如下:
java -version

pause

只需输入 JDK 所在目录回车即可安装成功。

:不能用%Path%获取环境变量Path的值,它会包含系统变量Path和用户变量Path,再写入时就可能出现重复。

3.3. Linux 环境配置

3.3.1. 解压JDK

进入目录:cd /usr/java/jdk1.8.0_202

解压tar包:tar -zxvf jdk-8u202-linux-x64.tar.gz

3.3.2. /etc/profile 追加JDK配置

打开文件:vim /etc/profile

在末尾追加

export JAVA_HOME=/usr/java/jdk1.8.0_202 
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

 其中 export JAVA_HOME=/usr/java/jdk1.8.0_202 要换成你的目录和版本号。

3.3.3. 保存修改

Esc
Shift + q 进入键盘编辑
wq 保存并退出

3.3.4. 重新加载配置文件

source /etc/profile

3.3.5. 验证

输入:java -version

出现如下结果即代表安装成功:

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

北斗卫星推动我国法治建设

北斗卫星推动我国法治建设发展 10月26日下午&#xff0c;第二届北斗规模应用国际峰会北斗规模应用法治保障专题论坛在湖南省株洲市召开。与会专家围绕北斗法治建设全局、北斗涉外法治建设、北斗品牌塑造、北斗产业生态建设及政策法规完善等方面&#xff0c;进行了深入研讨交流。…

搬砖日记:post传数组(三种格式)

1. json型 request({url: /msg/message/batch/read,data,method: post,content-Type: application/json })2. formData数组型 Content-Type: application/x-www-form-urlencoded request({url: /msg/message/batch/read,data,method: post,})3.formData字段重复传型 把data换成…

经典文献阅读之--Fast and Robust Ground Surface Estimation...(均匀B样条采样快速估计地平面)

0. 简介 对于激光雷达的地面估计分割&#xff0c;目前其实有很多方法做了快速并鲁棒的分割&#xff0c;比如说我们之前写的一篇《经典文献阅读之–FEC》一文中就给出了快速分割的方案&#xff0c;当中第一步就是需要对地面进行分割。而我们这次看的是一篇使用均匀B样条的方法来…

第2关:多表查询

任务描述 join操作符编程要求测试说明 任务描述 本关任务&#xff1a; 使用join操作符实现多表查询。 join操作符 1.笛卡尔积&#xff0c;RXS 可直接转换为SQL语句 2.等值连接&#xff0c;记作 可直接转换为SQL语句 3.自然连接&#xff0c;记作 可转换为SQL语句 4.左外连接…

Java架构核心基础知识硬核整理,赶快收藏起来吧!!!

Java架构核心基础 lecture&#xff1a;波哥 一、数据结构和算法 1.数据结构 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下&#xff0c;精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同…

保护您的Google账号安全:检查和加固措施

简介&#xff1a;随着我们在日常生活中越来越依赖于Google账号&#xff0c;我们的个人信息和敏感数据也变得越来越容易受到威胁。为了确保您的Google账号的安全性&#xff0c;本文将介绍一些简单但有效的方法&#xff0c;帮助您检查和加固您的Google账号。 --- 在数字时代&am…

【工具使用】卸载VS(Visual Studio)

目录 方法一&#xff1a;使用TotalUninstaller工具方法二&#xff1a;官网的卸载方法 方法一&#xff1a;使用TotalUninstaller工具 下载地址&#xff1a;https://github.com/Microsoft/VisualStudioUninstaller/releases 1.点击下载地址&#xff0c;选择TotalUninstaller进行…

CNKI上最新硕士博士论文pdf格式文件owner密码找回难度

听人说CNKI上比较早期的硕士博士论文pdf格式文件密码修改权限Owner密码是123456&#xff0c;想办法找了几个文件试了试果然如此。 但又听人说CNKI上最新硕士博士论文pdf格式文件owner密码已经不是了。虽然直接移除这种密码的工具到处都是&#xff0c;推测一下新增的owner密码及…

从道一云到畅捷通T+通过接口配置打通数据

从道一云到畅捷通T通过接口配置打通数据 接通系统&#xff1a;道一云 在道一云坚实的技术基础上&#xff0c;道一云推出全新升级的2.0产品矩阵&#xff0c;分别是低码平台、智能门户、场景应用。基于云原生底座&#xff0c;为企业提供集智能门户解决网关流量问题、企业微信端的…

深入理解 Spring Boot 内置工具类:ReflectionUtils

文章目录 1. 什么是反射&#xff1f;2. 使用 ReflectionUtils2.1 获取类的所有字段2.2 调用方法2.3 访问字段 3. 源码分析3.1 doWithFields3.2 findMethod3.3 invokeMethod 4. 拓展与分析4.1 拓展4.2 性能考虑4.3 Java 9 模块化 5. 总结 &#x1f389;欢迎来到架构设计专栏~深入…

探索数据湖和大数据在亚马逊云服务云存储服务上的威力

文章作者&#xff1a;Libai 引言 在当今数字化的环境中&#xff0c;组织生成的数据量正以前所未有的速度增长。数据量的激增催生了对高效存储和管理解决方案的需求。数据湖和亚马逊云服务云存储服务上的大数据是一个强大的组合&#xff0c;使组织能够充分发挥其数据的潜力。 亚…

Socket网络编程(服务端和客户端代码示例)

本文主要讲解Socket网络编程。 首先介绍socket&#xff0c;包括TCP和UDP通信过程&#xff1b;然后介绍常用的函数&#xff1b;最后编写client-server例子&#xff0c;并进行测试。 文章目录 Socket介绍TCP通信过程服务器端通信过程&#xff1a;客户端通信过程&#xff1a; UDP通…

数据结构——带头双向循环链表

呀哈喽&#xff0c;我是结衣。 前言 说到链表前面我们讲了单链表&#xff0c;但是链表可不止一种&#xff0c;要分类的话。链表可以分为带头或不带头&#xff0c;单向或双向&#xff0c;循环或者不循环&#xff0c;也就是说链表一共应该是有8种结构的&#xff0c;我们上次讲的…

记一次请求头header丢失问题排查实录

前言 前端小王需要调用兄弟部门老张的后端接口&#xff0c;老张提供的接口&#xff0c;需要token鉴权才能调用成功。当小王按约定携带token调用老张的接口时&#xff0c;起先因为跨域问题&#xff0c;导致前端小王没法成功请求老张的接口。于是小王就跟老张说&#xff0c;能不…

【科研新手指南4】ChatGPT的prompt技巧 心得

ChatGPT的prompt心得 写在最前面chatgpt咒语1&#xff08;感觉最好用的竟然是这个&#xff0c;简单方便快捷&#xff0c;不需要多轮对话&#xff09;chatgpt思维链2&#xff08;复杂任务更适用&#xff0c;简单任务把他弄复杂了&#xff09;机理chatgpt完整咒语1&#xff08;感…

python 文本纠错库pycorrector的使用(API变更,许多介绍文章已不可用)

pycorrector是一个nice的中文检测库&#xff0c;在最新的版本API变更&#xff0c;导致许多之前的介绍文章不可用。 现将新API粘贴如下。

1、 图像和像素

像素我们不陌生,图像我们更不陌生。 学习计算机视觉,我觉得第一步就是要了解我们要处理的对象,就像上一篇说到的,计算机视觉任务中,图像(像素)是原材料,算法是菜谱。 了解了图像的特征,才可以更好的完成更多图像处理任务,比如对一张图片进行分类,或者对一张图片画…

【数据仓库】数仓分层方法详解与层次调用规范

文章目录 一. 数仓分层的意义1. 清晰数据结构。2. 减少重复开发3. 方便数据血缘追踪4. 把复杂问题简单化5. 屏蔽原始数据的异常6. 数据仓库的可维护性 二. 如何进行数仓分层&#xff1f;1. ODS层2. DW层2.1. DW层分类2.2. DWD层2.3. DWS 3. ADS层 4、层次调用规范 一. 数仓分层…

如何使用Echarts

以umi为例 首先是下载两个插件&#xff08;echarts和echarts-for-react&#xff09; npm npm install --save echarts-for-react npm install echarts yarn yarn add echarts-for-react yarn add echarts 接下来是在tsx或jsx中引入使用 import ReactEcharts from "echa…

selenium报错:没有打开网页或selenium.common.exceptions.NoSuchDriverException

文章目录 问题解决方法 问题 当selenium的环境配置没有问题&#xff0c;但在使用selenium访问浏览器时并没有打开网页&#xff0c;或者出现selenium.common.exceptions.NoSuchDriverException报错信息&#xff08;如下图所示&#xff09;。 以上问题可能的原因是没有配置chrom…