Win10安装jdk11及环境变量配置

Win10安装jdk11及环境变量配置Win10安装jdk11及环境变量配置写在前面卸载旧版本jdk下载jdk11配置环境变量经验教训写在前面我第一次安装java是在17年初,距离现在已经一年半了。今天上oracle官网一看,jdk都已经更新到11.0.1了,然而我用的还是1.8.0_171版本的老古董,遂决定把jdk升级一下,结果没想到这一升级就折腾了老半天。在这里把我的升级的详细步骤以及经验教训和大家分享一下。卸载旧版本jd…

大家好,又见面了,我是你们的朋友全栈君。

写在前面

我第一次安装java是在17年初,距离现在已经一年半了。今天上oracle官网一看,jdk都已经更新到11.0.1了,然而我用的还是1.8.0_171版本的老古董,遂决定把jdk升级一下,结果没想到这一升级就折腾了老半天。在这里把我的升级的详细步骤以及经验教训和大家分享一下。

卸载旧版本jdk

进入设置——应用,搜索java,得到两个结果,一个是jdk,一个是jre,把两个应用都卸载。卸载完以后先别急着去下载最新版jdk,先把系统环境变量中和jdk, jre相关的项删除,比如JAVA_HOME,以及Path中包含jdk, jre的值等。我就是因为有一个环境变量没清掉,后来环境变量怎么配都不对,浪费了好多时间。

下载jdk11

直接附上官网链接:https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html
打开页面后,首先勾选Accept Licence Agreement(默认是Decline),然后点击下载jdk-11.0.1_windows-x64_bin.exe,如图:
在这里插入图片描述
下载完成后,双击文件进入安装界面。点击下一步。
在这里插入图片描述
这里需要选择要装的功能以及安装路径,默认路径在C盘,个人不喜欢把软件装在C盘,所以点击更改,当然这里直接选择下一步也是可以的。
在这里插入图片描述
选择完安装目录后,点击确定,回到上一个页面。
在这里插入图片描述

选择开发工具作为要安装的可选功能,记住这里的安装路径,后面配置环境变量需要用到,点击下一步。
在这里插入图片描述
静静等待安装完成,点击关闭。
在这里插入图片描述

配置环境变量

为了让我们安装好的jdk在命令行下能够方便地使用,还需要为jdk配置环境变量。
点击桌面左下角圆圈图标,在弹出的搜索框中输入环境变量,点击编辑系统环境变量。
在这里插入图片描述
点击环境变量。
在这里插入图片描述

为了让计算机上的所有用户都能使用jdk,这里编辑的是系统环境变量。点击新建,变量名输入”JAVA_HOME”,变量值就是在安装时选择的安装路径,到安装目录把地址复制一下,粘贴过来就好了。然后点击确定。
在这里插入图片描述

接下来在系统环境变量中找到Path(注意Windows中环境变量名不区分大小写),选中,点击编辑,在弹出的新窗口中点击新建,输入”%JAVA_HOME%\bin”,点击确定。
在这里插入图片描述

至此,环境变量已经配置完成,在cmd分别输入javac –version和java –version,得到如下输出:
在这里插入图片描述
接着编译执行个java小程序看看是不是真的能用了,结果如图:
在这里插入图片描述
OK,大功告成。

经验教训

自己折腾的时候修改完Path环境变量,cmd下直接使用java命令执行java程序,发现提示
Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.

以为是自己少配了环境变量,网上看别人教程说还要修改ClassPath,Path里面还要加上jre相关的值,结果配置了半天也没什么用。然后以为是没下jre,另外下载安装了jre,又鼓捣了一番环境变量,然而还是没用。最后发现在Path里面还留着一一栏”C:\ProgramData\Oracle\Java\javapath”,到这目录里一看,好家伙,原来里头还藏着个java.exe,把这一栏一删,jre再一卸载,发现java命令就能正常使用了。原来之前在cmd执行java命令的时候一直找错路径了。。。

关于ClassPath环境变量的配置:jdk-1.8.0是把jre放在了jdk目录下,jdk10是把jre和jdk放在同一目录下,而jdk11就不知道把jre放哪儿了,反正我是没找到。。。所以jdk-1.8.0和jdk10是要在ClassPath中添加jre相关的值,而且配置方法也不一样,而jdk11嘛,既然找都找不到,那就不管了。其实就算没有ClassPath这个环境变量,一般的java程序也能运行,因为这时默认在当前目录寻找class文件,只要程序使用到的class文件都放在当前目录下,是不会有问题的。

总之就是在修改完Path环境变量后,注意上方是否有卸载java后残留的与java相关的环境变量值,一经发现,立马删除,否则Path的值就白改了,因为它会被上方的路径掩盖。以及jre是不需要自己另外下载安装的,jre都包含在jdk的安装路径下(虽然我暂时还没有找到jdk11的jre在哪里orz)。最后,ClassPath对于java初级玩家来说不用理会,等你成为高级玩家的时候,可能就需要把ClassPath好好配置一下了(不过到那时谁还用命令行跑java程序呢hh)。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/162846.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 基于SSM的景区旅游管理系统

    基于SSM的景区旅游管理系统项目运行截图首页展示信息攻略管理酒店管理技术描述开发工具:idea/eclipse数据库:mysqlJar包仓库:Maven前段框架:Html/Thymeleaf后端框架:spring+springmvc+mybatis+SpringBoot资料说明基于SSM的景区旅游管理系统,整体包含前后台页面,整体采用SSM框架,SpringBoot作为基础框架,前端页面采用Thymele

  • android开机动画包制作工具实现「建议收藏」

    android开机动画包制作工具实现「建议收藏」android开机动画包制作  由于项目的需要,要制作LOGO有光亮的闪烁,网上查了资料,都是介绍 desc.txt文件的格式,但对于每一帧的图片制作没有现成的工具,所以本人试着自己先一个,只要满足自己的需求(logo光来回扫动)就行,其他复杂的情况不考虑。  首先是 desc.txt的实现:  102460016  p00part0  很简单,分辨率,播

  • 路由器 转接_路由器网络接口

    路由器 转接_路由器网络接口路由器所在的网络位置比较复杂,既可是内部子网边缘,也可位于内、外部网络边缘。同时为了实现强大的适用性,它需要连接各种网络,这样,它的接口也就必须多种多样。对于这些,不要说一般的网络爱好者,就连许多网管人员都无法说清楚。为此笔者向大家全面介绍路由器的各种接口及连接方法。一、路由器接口路由器具有非常强大的网络连接和路由功能,它可以与各种各样的不同网络进行物理连接,这就决定了路由器的接口技术非常复杂,越是高档的路由器其接口种类也就越多,因为它所能连接的网络类型越多。路由器的端口主要分局域网端口、广

    2022年10月19日
  • React多页面跳转[通俗易懂]

    React多页面跳转[通俗易懂]render(){const{app:{locationQuery}}=this.props;////////////tolist.jsconst{子页面数据}=this.state;const{id}=locationQuery;///获取当前页面地址栏的idconstinfo=queryA…

  • Java输入输出(标准)

    Java输入输出(标准)简述Java输入就需要自己构造类了。其中nextLine()这个方法,表示的是,一直读,读到有换行符之后就截至(不取换行符)代码importjava.util.*;publicclassTest{publicstaticvoidmain(String[]args){Scannerin=newScanner(System….

  • Java四种引用类型_JAVA引用数据类型

    Java四种引用类型_JAVA引用数据类型今天看代码,里面有一个类java.lang.ref.SoftReference把小弟弄神了,试想一下,接触java已经有3年了哇,连lang包下面的类都不了解,怎么混。后来在网上查资料,感觉收获颇多,现记录如下。    对象的强、软、弱和虚引用在JDK1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachabl

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号