java -version和javac -version显示不同的版本 [英] java -version and javac -version showing different versions

查看:389
本文介绍了java -version和javac -version显示不同的版本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在C:\Program Files\Java

在环境路径中,我这样指定java 7的路径.

In the environment's path I specified the path of java 7 like this.

%JAVA_HOME%/bin其中JAVA_HOME = C:\Program Files\Java\jdk1.7.0_17

但是当我键入javac -version时,它会显示javac 1.7.0_17这是有道理的

But when I type javac -version it shows javac 1.7.0_17 which makes sense

但是当我执行java -version时,它会显示

but when I do java -version it shows

java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)

您知道这里可能是什么问题吗?

编辑:已安装的文件夹:

Edit The installed folder :

另外一件事echo %PATH%中只有一次出现了JDK,这是针对java 7的,而没有出现JRE的情况.

And one more thing echo %PATH% has only one occurence of JDK that is for java 7 and no occurence for JRE found in it.

推荐答案

出现此问题的原因很可能是因为您的PATH中有一个 JRE ,而您的 JDK >.当我们在PATH中添加JDK并且不删除以前添加的JRE时,通常会发生这种情况.因此,当您执行java时,它指向JRE,而当您执行javac时,它指向另一个版本/JDK(因为JRE中没有javac)

The issue is occuring most probably because you have a JRE in your PATH, before your JDK. This usually happens when we add JDK in the PATH and do not remove previously added JREs. Thus when you do java it points to the JRE and when you do javac it points to the other version/JDK (since the JRE does not have a javac in it)

如果您的路径中没有任何JRE,则可以复制%JAVA_HOME%并将其首先粘贴到您的path变量中(确保其在system32路径之前).

If you don't have any JREs in your path, then you can copy your %JAVA_HOME% and paste it first in your path variable (make sure its before the system32 path).

对此答案的解释:

JRE还将java.exe放入c:\Windows\System32,这就是第一个命令的解析方式.第二个命令由PATH变量中的C:\Program Files\Java\jdk1.7.0_02\bin条目解析. 如果(和何时)从命令提示符进行开发,则必须调整PATH变量,以使C:\Program Files\Java\jdk1.7.0_02\binc:\Windows\System32之前.

JRE also puts a java.exe to c:\Windows\System32, that's how first command is resolved. Second command is resolved by the C:\Program Files\Java\jdk1.7.0_02\bin entry in your PATH variable. If (and when) you are developing from the command prompt, you have to adjust the PATH variable so that C:\Program Files\Java\jdk1.7.0_02\bin is before c:\Windows\System32.

这篇关于java -version和javac -version显示不同的版本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆