java环境变量测试cmd下"java"命令报错问题

1 篇文章 0 订阅
1 篇文章 0 订阅

转载地址

一、java环境变量简介

java环境变量的设置的目的有两个,第一个是 配置jre地址,也就是java程序运行环境;第二个是 配置JDK地址,也就是Java程序开发环境。一般安装完JDK后会有两个jre文件,第一个包含在JDK文件中如下图所示。

在这里插入图片描述
第二个jre文件在安装时会另外提示指定文件夹放置,例如我把要讲求指定的jre文件和jdk文件放在同一目录下(E盘)
在这里插入图片描述
  JDK自带的jre称为专用jre,后面独立安装的jre称为公共jre,如果已经安装了JDK的话,其实是没必要再安装公共jre的,公共jre的作用是向系统和浏览器注册Java运行环境,以及提供了一些Java更新服务,可以不用再去单独安装这个公共jre。

二、JDK安装及环境变量配置

通过官网安装十分方便,这里给出转载的一个教程(安装即环境变量配置),或者自行百度教程即可,这里就不一一赘述。
JDK安装地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html

三、安装测试

1.打开控制台

a.通过win+R->输入cmd 打开控制台

b.通过开始菜单->运行->输入“cmd” 打开控制台

方法b第一步
方法b第二步

2.测试命令

a.测试Java运行环境

在控制台下输入命令"java",成功案例如下图所示。
在这里插入图片描述

b.测试Java开发环境

在控制台下输入命令"javac",成功案例如下图所示。
在这里插入图片描述

四、测试失败分析

本文只分析“java”命令失败原因

1.失败现象

转载文章地址:http://www.cnblogs.com/yjmyzz/p/3521554.html

失败命令现象如下图所示:

错误为 “Error: could not open `E:\java\lib\amd64\jvm.cfg’ ”
在这里插入图片描述

通过控制端查看JAVA_HOME的值,如下图所示:

在这里插入图片描述

path环境变量内容如下,其中,%JAVA_HOME%\bin被习惯性的放置到了最后。:
在这里插入图片描述

2.问题分析

原来JDK如果执行过安装程序后,会在HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.7.0_45\MSI\ 留下印记,里面有一项INSTALLDIR记录的还是当时安装的旧路径,如下图(转载的图):
在这里插入图片描述

图中的路径是存放独立jre的路径,在安装jdk的时候会提示,如下图(转载的图)所示:

在这里插入图片描述
  如图示,未更改位置时jre被默认放置在C盘下,新建了一个名为java的文件去存放,当你修改位置时,存放文件的名字最好也为java,因为他在注册表中默认就是这么放的。若不是以java命名文件,等到你发出java指令,系统通过注册表中去访问位置时,会发现找不到文件。
  就会出错,如之前所示错误为 “Error: could not open `E:\java\lib\amd64\jvm.cfg’ ”,这说明我把jre放在E盘下,默认用名为java的文件去存放他,再到我文件下看,果然名字不同,如下图所示:

在这里插入图片描述
按控制端所报的错误将文件名修改成java后,java命令执行成功。
在这里插入图片描述
所以一定要注意,以后要仔细看程序所报的错误
  可能有朋友要问到,“我不是配置了环境变量吗,为什么系统还是自己到注册表中去查找然后执行”。如果你多找几个解决办法,可能会发现有这么一个方法——将”%JAVA_HOME%\bin“路径提到path路径最前面。
  我试过,单做出这个改动也可使java命令执行成功,说明是优先级的问题,从注册表访问的路径的优先级大于”%JAVA_HOME%\bin“路径的优先级,将”%JAVA_HOME%\bin“命令提到path路径最前,让系统能先从此路径找到解决方法。

3.解决办法

终上所述,解决方法为

方法一

按照所报错误修改jre文件名,或单独放置一个jre文件到错误所示位置,使该路径有效。

方法二

将%JAVA_HOME%\bin提前,提前到path中的最前面,使其优先级高于注册表路径优先级。

方法三

修改注册表中java运行环境”HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\“下的值,修改成你现在jre文件的路径,注册表我没修改过,不知道是否可行。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值