文章目录
- 前言
- JDK下载
- 什么是JDK
- 下载JDK
- 官网下载
- 历史版本下载
- JDK安装
- 生成JRE
- 配置环境变量
- 进入环境变量配置界面
- 新建系统变量JAVA_HOME
- 编辑系统变量PATH
- Path编辑界面1
- Path编辑界面2
- 配置CLASSPATH
- 验证安装情况
- 问题反馈
- Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
- 问题现象
- 分析方法
- 解决方法
前言
经常杂七杂八的学一点java 的知识,似懂非懂,半推半就的过了好久,现在放空自己,重新由0开始学好java,打好基础,特此写上最基本的java环境配置文章,同时也是献给那些无限进入java开发的新人们,一起共勉
JDK下载
什么是JDK
JDK 是 Java Development Kit 的缩写,是 Java 开发工具包的意思。它是由 Oracle 公司提供的用于 Java 开发的软件开发工具包。JDK 包含了用于开发、编译、调试和运行 Java 程序所需的工具和资源,包括 Java 编译器(javac)、Java 虚拟机(JVM)、Java 库、开发工具等。
下载JDK
官网下载
官网传送门:https://www.oracle.com/java/technologies/downloads
现在的java都发展到了java22版本了,但一切未必是最新就是最好的,合适才是最重要,好比现在,看着java22,但公司项目还是只是需要java12即可满足,版本高了,可能还会有一系列的兼容问题。
历史版本下载
- 在官网页面上点击Java achive,即可查看历史版本的JDK
- 首先,我们选择的是Java SE(Java Standard Edition)顾名思义,就是标准版。此处对应你要用的版本进行选择
- 对于系统的选择,首先我们是在win环境开发,其次对于选择x64.exe即可,之前版本还有x86的,现在似乎没了
- 勾选,然后点击绿色按钮,开始下载!
- 此时提示要登陆账号,没有注册一个即可
- 下载完成
JDK安装
- 创建一个文件夹,文件夹路径上不要有中文,我选择直接放在e盘目录下新建一个Java文件夹
- 双击运行,点击下一步,然后会来到以下界面,我是选择使用E:\Java\jdk-12.0.2\,这里可以自由选择,就是文件夹路径不要出现中文即可
- 点击下一步,很快会完成
- 此时查看目录,只有jdk文件夹,似乎少了jre
生成JRE
JRE(Java Runtime Environment)是 Java 运行时环境的缩写,它是 Java 应用程序运行所需的核心组件之一。JRE 主要提供了 Java 应用程序运行时所需的各种库、Java 虚拟机(JVM)和其他支持文件,用于加载、解释和执行 Java 字节码,以及提供运行时的环境和支持。
-
Java12版本jre是通过指令生成的,不是像以前Java8还需要下载
-
首先进入jdk-12.0.2文件夹
- 在导航栏中输入cmd,就会启动一个当前文件夹的cmd
- cmd如下
- 输入以下指令,生成jre
bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
- 查看目录下是否已经生成了jre文件夹
自此jdk和jre的安装完成
配置环境变量
进入环境变量配置界面
- 右键点击计算机–>属性–>高级系统设置–>高级–>环境变量
新建系统变量JAVA_HOME
- 点击“新建”
- 变量名:
JAVA_HOME
- 变量值:E:\Java\jdk-12.0.2
- 变量值也就是我们刚才安装jdk的路径
编辑系统变量PATH
- 选择“Path”,点击“编辑”
Path编辑界面1
如果变量值最前面是%开头,就会出现界面1,如果是字母开头就会是界面2
- 在变量值最前面添加
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
Path编辑界面2
- 新建变量1:
%JAVA_HOME%\bin
- 新建变量2:
%JAVA_HOME%\jre\bin
-
一般我们会将它上移到顶部,再
确定
保存
为什么要把%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin提到最前?
这是因为系统可能会在其他地方安装java执行文件,这样你执行java的时候会根据路径的顺序执行java文件,如果没在最前就会执行C:\Program Files (x86)\Common Files\Oracle\Java\javapath
里的java.exe文件,就会导致错误,这个错误下面专门会提及。
配置CLASSPATH
- 从JDK 9开始发生重大变化:“之前类和资源文件存储在lib/rt.jar, tools.jar,JDK 9版本开始 lib/dt.jar和其他各种内部JAR文件都存储在一个更有效的格式在实现特定的文件lib目录。所以不需要配置CLASSPASTH变量。”
验证安装情况
在cmd里面执行以下指令,出现版本即为安装成功
java -version
问题反馈
Error: opening registry key ‘Software\JavaSoft\Java Runtime Environment’
问题现象
如果执行java -version指令后,出现以下提示,则说明你的路径设置不对。
C:\Users\Administrator>java -version
Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.
但我们反复检查刚才设置的配置:
JAVA_PATH
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
都是反复确认无误的,可为什么还是没有找到我们的jre呢?
分析方法
此时分析手段很简单,在cmd中输入以下指令
where java
查看后结果
C:\Users\Administrator>where java
C:\Program Files (x86)\Common Files\Oracle\Java\javapath\java.exe
E:\Java\jdk-12.0.2\bin\java.exe
E:\Java\jdk-12.0.2\jre\bin\java.exe
在此可以看到我们设置的路径是存在的,但在我们设置的路径前居然还有一条C:\Program Files (x86)\Common Files\Oracle\Java\javapath\java.exe
,这就是问题所在,由于系统按照路径顺序,先取了这条路径,导致出现Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
解决方法
- 解决方法其实已经在上面有说过了,就是将
%JAVA_HOME%\bin
,%JAVA_HOME%\jre\bin
提到最前即可。 - 但是但是,这里有个很大的坑,就是如果设置界面是
Path编辑界面1
,那么就算是设置了最前,也是不会生效的哦!!!,所以此时就需要在出现Path编辑界面1
的情况,把%JAVA_HOME%\bin
,%JAVA_HOME%\jre\bin
清理掉,然后确定关闭后,重新进入,在出现了Path编辑界面2
后,再重新设置%JAVA_HOME%\bin
,%JAVA_HOME%\jre\bin
,这样问题就解决了 - 注意,在
%JAVA_HOME%\bin
,%JAVA_HOME%\jre\bin
被提到最前后,Path编辑界面2
就变成了Path编辑界面1
,这个window真神奇。 - 简单来说就是%在最前就会是
Path编辑界面1
,如果是字母就是Path编辑界面2
- 另外,记得cmd要重新进入java -version才会有效,不要没重启cmd,然后一直在那里试了不行哦