java.exe始终指向JRE的路径但不指向JDK

时间:2011-03-09 19:02:06

标签: environment-variables java

我的Windows 7上安装了jdk和jre。

我已将JAVA_HOME设置为

C:\Program Files\Java\jdk1.6.0_23

我已添加

C:\Program Files\Java\jdk1.6.0_23\bin

到PATH。

但java.exe仍然指向我的jre dir,即

C:\Program Files\Java\jre6\bin

因为我跑的时候

java.exe -server

抱怨

Error: no `server' JVM at `C:\Program Files\Java\jre6\bin\server\jvm.dll'.

任何人都可以告诉我还需要设置什么?

5 个答案:

答案 0 :(得分:13)

因为你在Windows上,java不能那样工作。 某些Windows目录中有一个java.exe(%windir%system32 for you)

这个java.exe实际上在注册表HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment

中查找

PATH不会帮助你!由于我倾向于懒惰,所以我删除了JRE并为JDK创建了junction

答案 1 :(得分:3)

从%windir%\ system32

中删除java.exe

答案 2 :(得分:0)

右键单击“我的电脑”>属性>高级系统设置>环境变量>

搜索路径..

删除现有路径,然后添加你的..

照顾半结肠

答案 3 :(得分:0)

确保您的JRE / bin目录未包含在您的路径中。搜索路径时找到的第一个java.exe实例将是执行的路径。如果你已经在JRE之后将JDK添加到路径中,那么将始终选择JRE。

您还可以在调用java时显式指定java.exe的完整路径。这将确保您始终知道您正在调用的java jre / jdk。

答案 4 :(得分:0)

如果您有64位操作系统,它将尝试使用Windows 7上预装的64位jre。您可以尝试使用添加/删除程序来删除64位jre。我已经多次遇到过这个问题而且我总是通过移除64位jre来修复它。