首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java -version和javac -version显示不同的版本

java -version和javac -version显示不同的版本
EN

Stack Overflow用户
提问于 2014-08-01 06:19:57
回答 12查看 103K关注 0票数 42

在我的windows系统中,java 7java 8都安装在C:\Program Files\Java

在环境的路径中,我指定了java 7的路径,如下所示。

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

但是当我输入javac -version时,它显示了javac 1.7.0_17,这是有意义的。

但是当我做java -version的时候

代码语言:javascript
复制
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)

知道这里有什么问题吗?

编辑已安装的文件夹:

还有一件事,echo %PATH% JDK 只出现了一次 JRE ,即 java 7 ,而JRE没有出现在其中。

EN

回答 12

Stack Overflow用户

发布于 2014-08-01 06:29:33

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

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

这起作用的一个可能原因是在这个答案中解释

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

票数 33
EN

Stack Overflow用户

发布于 2019-04-02 19:57:55

转到windows机器中的环境变量。在用户变量中:确保将用户变量"JAVA_HOME“值设置为"C:\Program \Java\ jdk \bin”,其中“jdk”是jdk的版本。

在系统变量:-向"Path“变量中添加相同的"C:\Program \Java\jdk\bin”值。确保将增加值移至所有值的顶部。

现在尝试运行java -version和javac -version。为我工作过。::) 我把我的截图联系起来了

票数 10
EN

Stack Overflow用户

发布于 2014-08-01 06:42:48

好的,正如您所说的,您的路径上没有JRE,我假设(如果您有Windows 7)会给您C:\Windows\System32\java.exe

更改java运行

尝试使用控制面板中的对话框来更改当前处于活动状态的Java系统版本。这应该会改变java -version返回的版本。如果这不起作用,您可能需要重新安装要运行java命令的Java,显式地指定路径,编写自己的包装器(如果您与包装器位于同一个目录中),或者将JRE路径放在C:\Windows\System32\前面的路径上(不知道最后一个选项是否真的是一个好选项)。

包装器的外观可能如下所示:

代码语言:javascript
复制
@"C:\Program Files\Java\jre7\bin\java.exe" %*

您可以将它命名为java.bat (如果您位于同一个目录中,它将工作,或者在C:\Windows\System32\java.exe之前将其放在PATH中,或者您可以将它命名为java7.bat,并将其放置在路径上的任何位置,以便能够运行Java7JRE,如果您愿意的话)。

如果要在运行时更改JAVA_HOME,包装器也是一个很好的选择。

更改javac运行

如果您想运行一个不同的javac,点击Windows + Pause并打开系统对话框来更改PATH,因此它包含到JDK 8而不是JDK 7的路径。您需要重新启动命令行,以便显示更改。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25074017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档