我正在尝试运行已编译的java类并获取错误,但是当我检查我的java环境时,它指向不同的版本。
Javac -version给了我1.8.0
和
Java -version给了我1.6.2
Java_home和路径指向1.8版本。
请帮忙。
答案 0 :(得分:2)
Windows下的Java安装有时是一个非常严重的痛苦来源。以下假设您拥有Windows:
您的问题可能有更多来源。例如,使用Maven,您依赖于JAVA_HOME,使用Eclipse,您可以使用项目设置......
答案 1 :(得分:1)
java.exe
将java安装复制到System32
目录下。我们还倾向于在path
变量的末尾附加java路径。这导致运行java
命令指向System32
中的那个(它获取遇到的第一个路径值并忽略rest,在本例中为system32文件夹的java)。当它找不到javac
时,它会查找path
的其他值,并在java JDK的末尾找到它(这是你要使用的那个)。为了解决这个问题,请给出你的路径JDK例如C:\ProgramData\Oracle\Java\bin
作为windows path
变量中的第一个条目。甚至在你的system32入门之前。这可以确保您只指向一个java。我的路径条目如下所示: -
%JAVA_HOME%\bin;%SystemRoot%\system32;
答案 2 :(得分:1)
请检查以下内容:
1)检查你的路径变量
2)检查JAVA_HOME变量
3)从system32文件夹中删除java,javaw和javaws .exe文件
答案 3 :(得分:0)
如果您运行的是Windows,则可以检查路径环境变量。它可能指向较旧的JRE安装。
答案 4 :(得分:0)
一种可能性是您的Java链接不一致。转到此位置(Windows):
C:\ProgramData\Oracle\Java\javapath
并查看java.exe
指向的位置。
如果不是最新的,请考虑使用以下方法进行修复:
mklink /d C:\ProgramData\Oracle\Java\javapath "C:\Program Files\Java\<your JDK>\bin\"
(您可能需要在创建新链接之前删除javapath
旧链接)