首页 > 编程语言 >JAVA的多版本配置及详解

JAVA的多版本配置及详解

时间:2022-09-06 09:58:36浏览次数:67  
标签:java jar 详解 版本 JAVA 变量名 环境变量

一、概述

因为java版本兼容性的问题,实际开发中可能需要进行不同java版本的切换,本篇博客将介绍JAVA的多版本配置以及环境变量的作用(需要配置java环境的也可以看过来)。

二、实践(以java8和java12为例,配置环境变量)

1.打开环境变量窗口

右键此电脑 -> 属性 ->高级系统设置 -> 环境变量
在这里插入图片描述

在这里插入图片描述

2.新建JAVA_HOME

因为是多版本的配置,所以JAVA_HOME也需要配置多个,这里新建JAVA_HOME1.8JAVA_HOME12,然后值就是对应jdk版本的路径,你们写自己的就好了
在这里插入图片描述

变量名: JAVA_HOME1.8
变量值:对应jdk版本的路径

在这里插入图片描述

变量名: JAVA_HOME12
变量值:对应jdk版本的路径

3.修改Path 变量

当你需要使用哪个版本的jdk,在Path中添加该版本jdk的bin路径,其实就是修改前面添加的JAVA_HOME的变量名,比如我需要jdk1.8的环境:
在这里插入图片描述
需要jdk12的环境就改成JAVA_HOME12
在这里插入图片描述
注意: 你修改的值要和你自己建立的JAVA_HOME的变量名一样

4.新建CLASSPATH变量

在环境变量新建一个 CLASSPATH
在这里插入图片描述

变量名:CLASSPATH
变量值:.;%JAVA_HOME1.8%\lib\dt.jar;%JAVA_HOME1.8%\lib\tools.jar;

这个和前面一样,切换版本时就改变JAVA_HOME1.8改成JAVA_HOME12,比如上图是jdk 1.8时的变量值,如果改成jdk12的环境:
在这里插入图片描述

变量名:CLASSPATH
变量值:.;%JAVA_HOME12%\lib\dt.jar;%JAVA_HOME12%\lib\tools.jar;

注意: 前面有点,后面有分号

5.验证环境是否安装成功

打开window命令行 :window+R -> cmd ; 输入 : java -version
在这里插入图片描述
如图,当前版本为jdk1.8环境配置成功,接下来切换版本。

然后按前面说的,修改PATH的值,把JAVA_HOME1.8改成JAVA_HOME12
修改CLASSPATH的值,也是把JAVA_HOME1.8改为JAVA_HOME12
重新打开cmd命令行输入:java -version
在这里插入图片描述
如图:jdk12 ,版本切换成功

注意: 修改环境变量时,需要重新打开cmd命令行,才能在命令行生效

三、详解

接下来介绍这些环境变量的作用

1. JAVA_HOME

作用:就相当于一个变量,告诉系统我的值是多少,当有和我一样的值可用变量名去替换 (就是方便后面两个变量的配置,可省略,但是不建议省略)。

2.PATH

作用:让系统在任何路径都能识别到java的一些命令,否则就只能到该JDK的bin路径下才能使用java命令

3.CLASSPATH

作用:告诉JVM要使用或执行的 .class 文件放在什么路径上,便于JVM加载 .class 文件,.表示当前路径,tools.jardt.jar为类库路径。(该变量配置错误,java程序可能不能正常运行)

标签:java,jar,详解,版本,JAVA,变量名,环境变量
From: https://www.cnblogs.com/hyjmango/p/16660708.html

相关文章

  • 二进制部署k8s集群v1.23.9版本-17-安装minio
    17.1、准备minio镜像192.168.1.200操作dockerpullminio/minio:latestdockerimages|grepminiodockertage31e0721a96bharbor.qgutech.com/middleware/minio:lates......
  • Java开发学习(三十)----Maven聚合和继承解析
    一、聚合分模块开发后,需要将这四个项目都安装到本地仓库,目前我们只能通过项目Maven面板的install来安装,并且需要安装四个,如果我们的项目足够多,那么一个个安装起来还是......
  • Typora 最后免费版本也不能用了?简单一招搞定
    作者:小牛呼噜噜|https://xiaoniuhululu.com计算机内功、JAVA底层、面试相关资料等更多精彩文章在公众号「小牛呼噜噜」Typora是一款优秀的Markdown编辑器和阅读器......
  • JAVA中自定义扩展Swagger的能力,自动生成参数取值含义说明,提升开发效率
    大家好,又见面了。在JAVA做前后端分离的项目开发的时候,服务端需要提供接口文档供周边人员做接口的对接指导。越来越多的项目都在尝试使用一些基于代码自动生成接口文档的工......
  • StoneDB for MySQL 5.7 版本发布
    StoneDB_5.7_v1.0.0的发行日志支持MySQL5.7功能添加或改变编译相关改动配置相关改动文档变更BUG修复欢迎大家关注我们的Github:https://github.com/stoneatom/st......
  • 面试java并发~(lock、volatile、cas)
    Lock锁是一个接口,有三个实现类,分别是常用的可重入锁,读锁、写锁。常用的可重入锁,默认一般创建的是非公平锁,就是允许线程插队,而不是按先来后到顺序。非公平锁的目的:是为......
  • java通过内存流去掉多行文本中的空行
    对于多行文本,你直接通过replace,replaceAll是不能将空行删除的,你需要遍历这些行,对每行文本进行操作,最后把返回新的文本才行。publicstaticStringremoveMultiRowBla......
  • 声明式HTTP客户端-Feign 使用入门详解
    什么是OpenFeignOpenFeign(以下统一简称为Feign)是Netflix开源的声明式HTTP客户端,集成了Ribbon的负载均衡、轮询算法和RestTemplate的HTTP调用等特性,并对其......
  • 你需要了解多少 Javascript 才能开始使用 React?
    你需要了解多少Javascript才能开始使用React?1.Javascript基础一个。使用var、let和const进行变量声明湾。算术、比较、逻辑运算符C。条件块和循环:if、for、f......
  • 如何用 JavaScript 编写游戏
    如何用JavaScript编写游戏今天的浏览器允许您创建具有完整图形的游戏。以下是使用JavaScript和HTML5编写简单赛车游戏的方法。浏览器现在为JavaScript开发人员提......