我花了一些时间在这上面并且无法提出解决方案。我已将java路径设置为适当的路径:
JAVA_HOME=C:\Program Files\Java\jdk1.7.0_45 <br>
然而,当我在cmd中执行“which java”命令时,我得到了错误的路径。它返回一个以前的java路径(cygdrive / c / Windows / system32 / java具体)
运行java -version
将返回以前的java版本。
我已经尝试在更改路径后重新启动我的机器。
我在任何环境变量中都看不到旧路径的痕迹。有人遇到过这个问题吗?
更新:忘记提及我也适当更新了PATH。另外,“java -version”返回
c:/aim % java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) Client VM (build 24.79-b02, mixed mode, sharing)
在我的任何env vars中都没有java目录1.7.0_79的痕迹。
答案 0 :(得分:0)
JAVA_HOME是唯一的环境变量。您需要检查PATH变量上设置的Java路径。要解决此问题,您需要在C:\Program Files\Java\jdk1.7.0_45\bin
变量中设置PATH
。还要确保在开头添加此Java路径变量。喜欢集合
PATH=C:\Program Files\Java\jdk1.7.0_45\bin;%PATH%
答案 1 :(得分:0)
您必须在路径中包含java.exe
的目录,并且包含其他java.exe
版本的目录中的第一个目录。
您已定义JAVA_HOME
变量,请务必在%JAVA_HOME%\bin
的定义开头添加%PATH%
。
请注意,您也可以重新启动当前控制台以正确设置新的%PATH%
定义
答案 2 :(得分:0)
您的路径上有另一个Java,它位于路径中的新JDK之前。示例路径:
PATH=c:\Windows\system32;%JAVA_HOME%\bin\
将其改为:
PATH=%JAVA_HOME%\bin\;c:\Windows\system32
这样,您的新Java版本将位于SYSTEM32中的新版本之前。
另外,请检查用户路径与系统路径。