问题 Javac和java指向不同的环境


请帮忙, 我试图运行一个编译的java类并获得错误但是当我尝试检查我的java环境时,它指向不同的方式,如下所示

c:\NetBeansProjects\Hello\src>javac -version
javac 1.7.0

c:\NetBeansProjects\Hello\src>java -version
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b05)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)

根据我的电脑(Windows 7),我有

C:\Program Files (x86)\Java
jdk1.6.0_25
jdk1.7.0
jre6
jre7

我怎么能把它全部指向Java 7或只有Jave 6 .....只想尝试java 7来看看与java 6相比的牢度...希望我写的所有内容都有帮助。

干杯。


4711
2018-03-07 21:12


起源

你的JAVA路径变量设置为什么? - bvulaj
只看路径 - 这就是我得到的C:\ Program Files(x86)\ Java \ jre6 \ bin; C:\ Program Files(x86)\ Java \ jdk1.7.0 \ bin - mascourt
而且,这是你的答案。见下文。 - bvulaj
它还取决于我们在PATH变量中配置的值序列。因此,根据您想要优先于另一个的顺序排列您的序列。 - Deepak Gangore


答案:


看看你的路径 - 我怀疑c:\ Windows \ System32领先于JDK7目录...我怀疑是Java 6无论出于何种原因。


9
2018-03-07 21:17



这是我的整个路径 - 我应该摆脱--C:\ Program Files \ AMD APP \ bin \ x86_64;%SystemRoot%\ system32;%SystemRoot%;%SystemRoot%\ System32 \ Wbem;%SYSTEMROOT%\ System32 \ WindowsPowerShell \ v1.0 \; C:\ Program Files \ Windows Live \ Shared; C:\ Program Files \ ATI Technologies \ ATI.ACE \ Core-Static; C:\ Program Files \ QuickTime \ QTSystem \;%sbs_home% \ bin; C:\ Program Files(x86)\ Java \ jre6 \ bin; C:\ Program Files(x86)\ Java \ jdk1.6.0_25 \ bin - mascourt
@mascourt:嗯 - 目前还不清楚从哪里获得javac版本7 ... - Jon Skeet
我遇到了同样的问题。 Java 7没有在PATH中设置,但我仍然通过运行命令java -version获得了版本7。 Jon是对的,java.exe在c:\ Windows \ System32下... - Grant Zhu
我有同样的问题。我没有在路径变量下使用我的JDK7,但仍然命令提示符是找到JDK7而不是JDK6(我在我的路径中)。正如Grant Zhu所说,我查看了C:\ Windows \ System32并将java.exe,javaw.exe和javaws.exe移动到另一个位置并重新启动了我的命令提示符。现在我的cmd提示符指向java和javac的完全相同的JDK 6版本。现在我可以通过将其替换为PATH环境变量中的JDK6路径来切换到JDK7。 - AKh


您在jdk / bin之前的系统路径上有jre / bin目录。 jre安装中不存在javac命令。

就这样 java的 命令获取jre6下的版本但是 javac的 获取jdk1.7.0下的版本。

您应该将系统路径更改为仅包含所需的路径。如果要显式使用其中一个,请使用绝对名称(包括路径)而不是可执行名称。


4
2018-03-07 21:17





在PATH变量中输入C:\ Program Files(x86)\ Java \ jdk1.6.0_25 \ bin 在system32的路径之前。 它解决了我的问题 只需确保java的路径是“PATH”环境变量中的第一个路径


3
2018-03-07 21:18



这对我也有用..谢谢! - codeMan


在所有可能的情况下,您已经安装了JDK 7和JRE 6,并且在您的PATH环境变量中,JRE bin路径位于JDK bin路径之前


0
2018-03-07 21:19



我将路径更改为C:\ Program Files(x86)\ Java \ jre6 \ bin; C:\ Program Files(x86)\ Java \ jdk1.6.0_25 \ bin但我得到的是C:\ Users \ mascourt> java - 版本java版本“1.6.0_31”Java(TM)SE运行时环境(版本1.6.0_31-b05)Java HotSpot(TM)64位服务器VM(版本20.6-b01,混合模式) - mascourt
因此,这意味着位于C:\ Program Files(x86)\ Java \ jre6 \ bin中的Java安装版本为1.6.0_31。没什么好奇的。我只是删除你不想要的所有安装,并将你想要的JDK放在一切之前 - Guillaume Polet
解决了 - 感谢所有回复,所有积分都被采纳了,我很感激。我跟着Guillaume Polet,只是删除了你不想要的所有安装,把你想要的JDK放在所有东西面前 - 我没看到它,直到我通过我的ccleaner发现java版本“1.6.0_31”...谢谢大家。 - mascourt


我只是因为你的路径,JRE不包含javac并且它包含java,所以在你的路径中JRE必须位于JDK之前


0