技术标签: jdk java 电脑安装与配置 windows
相信很多小伙伴在开发springboot后端或者玩minecraft的时候都会遇到上古Java的版本要求(比如Java8),但是如今最新的Java版本已经到Java16了,如何在电脑安装多个版本的Java并做到切换呢?下面来一起看看吧
多版本的Java需求一般是Java1.8+Java11之后版本的组合,本文就将以Java8和Java16两种版本的安装与配置为例。
控制面板->程序和功能
中找到安装的Java版本并完成卸载;若之前是通过二进制的.zip文件手动进行配置,需要将Java的安装目录手动进行删除,路径一般为C:\Program Files\Java
,之后再进入到环境变量中删除JAVA_HOME、CLASSPATH、PATH中关于Java的设置刚才这一步的目的是为了确保先安装Java8,再安装更高的版本
官网地址:
Java8(Java SE Development Kit 8u291)下载链接 选jdk-8u291-windows-x64.exe
下载
Java11(Java SE Development Kit 16.0.1)下载链接 选jdk-11.0.11_windows-x64_bin.zip
下载
Java16(Java SE Development Kit 16.0.1)下载链接 选jdk-16.0.1_windows-x64_bin.zip
下载
由于Java8版本只提供了exe的安装程序,所以只能下载安装包,其余版本我们都直接选择压缩包进行下载
运行jdk-8u291-windows-x64.exe
安装程序,无脑yes就行了
可以自行修改安装位置
接下来安装jre,需要修改位置的话跟刚才的jdk放到同一目录下就可以了
到这里安装就完成了,我们来测试一下是否安装成功~
可以看到java已经正常了,但是javac还是无法识别,所以需要配置环境变量
一共需要配置三项内容:JAVA_HOME、CLASSPATH和PATH
在系统变量(不是用户变量)进行修改
JAVA_HOME:
变量名:JAVA_HOME
变量值:刚才你安装jdk的目录,默认情况下是C:\Program Files\Java\jdk1.8.0_291
CLASSPATH :
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
PATH:
双击进入编辑界面,然后点击右侧“新建”按钮,新建两条:
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
之后点击确认(一定要点确认,不要直接点叉,否则不会保存)
现在我们再测试一遍:
java和javac都可以成功运行了,配置完成!
由于java16我们下载的是压缩包,所以直接将压缩包解压之后的内容放到自己想要的位置就可以了
(这里注意一下,压缩包解压完成后里面还套了一个文件夹,写路径的时候注意别搞错了)
这里我直接把东西放到刚才安装Java8的目录下面了,你愿意放到其他地方也无所谓
由于CLASSPATH和PATH在刚才都配置过了,我们现在只需要配置JAVA_HOME就可以了。
还是在环境变量中新建变量JAVA16_HOME
变量名:JAVA16_HOME
变量值:你放置16版本jdk的目录,我这里是C:\Program Files\Java\jdk-16.0.1
刚才我们在Java8配置的JAVA_HOME,需要改一下名字,改为JAVA8_HOME
最后我们再重新创建一个变量JAVA_HOME
变量名:JAVA_HOME
变量值:%JAVAxx_HOME%
这样当你需要使用哪个版本的Java的时候,就直接把JAVAxx_HOME的那个xx改为你需要的版本编号就可以了
上面这些变量值的命名你也可以按照自己的习惯进行更改,只要能相互对应上就可以
进行到上面这一步还并没有完,不信你可以自己试一试当你把JAVA_HOME改为16之后在cmd中查看版本一定还是java8
这是因为PATH中的第一行javapath的优先级高于你后面自己配置JAVA_HOME的内容,而javapath被指向了Java8的版本
所以解决方案有两个:
上面这两个办法推荐第二种,因为第一种可能会引起其他一些变化(虽然也不重要)
到这里多版本Java的环境在我们的电脑上就配置完成了,如果需要整个系统的运行环境进行更改,直接去环境变量把JAVA_HOME对应的版本号修改就可以了。当然现在的编译器比如说IDEA和VSCode都支持在Workspace里面单独配置Java版本,非常的方便。
上文的配置思路也可以用于Maven、nodejs等等,而python可以使用anaconda这种平台直接进行配置,更加省事方便~
文章浏览阅读1.1w次,点赞7次,收藏34次。vue-grid-layout的使用、实例、遇到的问题和解决方案_vue-grid-layout
文章浏览阅读218次。然后连接一个数据源,就会在下面自动产生一个添加附件的组件。把这个控件复制粘贴到页面里,就可以单独使用来上传了。插入一个“编辑”窗体。_powerapps点击按钮上传附件
文章浏览阅读264次。(1) Abstraction (抽象)(2) Polymorphism (多态)(3) Inheritance (继承)(4) Encapsulation (封装)_"object(cnofd[\"ofdrender\"])十条"
文章浏览阅读133次。删除node_modules,重新npm install看是否成功。在 package.json 文件中的 scripts 中加入。修改你的第三方库的bug等。然后目录会多出一个目录文件。_修改 node_modules
文章浏览阅读883次。【代码】【】kali--password:su的 Authentication failure问题,&sudo passwd root输入密码时Sorry, try again._password: su: authentication failure
文章浏览阅读1w次,点赞13次,收藏97次。整理5个优秀的微信小程序开源项目。收集了微信小程序开发过程中会使用到的资料、问题以及第三方组件库。_微信小程序开源模板
文章浏览阅读128次。Centos7最简搭建NFS服务器_centos7 搭建nfs server
文章浏览阅读1.2k次,点赞2次,收藏3次。前言mybatis在持久层框架中还是比较火的,一般项目都是基于ssm。虽然mybatis可以直接在xml中通过SQL语句操作数据库,很是灵活。但正其操作都要通过SQL语句进行,就必须写大量的xml文件,很是麻烦。mybatis-plus就很好的解决了这个问题。..._mybaitis-plus ruledataobjectattributemapper' and 'com.picc.rule.management.d
文章浏览阅读325次。EECE 1080C / Programming for ECESummer 2022Laboratory 4: Global Functions PracticePlagiarism will not be tolerated:Topics covered:function creation and call statements (emphasis on global functions)Objective:To practice program development b_eece1080c
文章浏览阅读53次。被同机房早就1年前就学过的东西我现在才学,wtcl。设要求的数为\(x\)。设当前处理到第\(k\)个同余式,设\(M = LCM ^ {k - 1} _ {i - 1}\) ,前\(k - 1\)个的通解就是\(x + i * M\)。那么其实第\(k\)个来说,其实就是求一个\(y\)使得\(x + y * M ≡ a_k(mod b_k)\)转化一下就是\(y * M ...
文章浏览阅读1.3k次。首先,问题是如何出现的?晚上复查代码,发现一个activity没有调用自己的ondestroy方法我表示非常的费解,于是我检查了下代码。发现再finish代码之后接了如下代码finish();System.exit(0);//这就是罪魁祸首为什么这样写会出现问题System.exit(0);////看一下函数的原型public static void exit (int code)//Added ..._android 手动杀死app,activity不执行ondestroy
文章浏览阅读894次。Q: SylixOS 版权是什么形式, 是否分为<开发版税>和<运行时版税>.A: SylixOS 是开源并免费的操作系统, 支持 BSD/GPL 协议(GPL 版本暂未确定). 没有任何的运行时版税. 您可以用她来做任何 您喜欢做的项目. 也可以修改 SylixOS 的源代码, 不需要支付任何费用. 当然笔者希望您可以将使用 SylixOS 开发的项目 (不需要开源)或对 SylixOS 源码的修改及时告知笔者.需要指出: SylixOS 本身仅是笔者用来提升自己水平而开发的_select函数 导致堆栈溢出 sylixos