Java Windows7 System32文件夹java.exe

问题描述:

我在这里发现了一些类似的问题,但是
他们都没有提供实际的答案。Java Windows7 System32文件夹java.exe

我有这两个版本。

Directory of C:\Java\Bit64 

01/19/2014 05:40 AM <DIR>   . 
01/19/2014 05:40 AM <DIR>   .. 
10/18/2013 07:53 AM <DIR>   jdk1.6.0_45 
01/19/2014 05:42 AM <DIR>   jdk1.7.0_51 
10/16/2013 03:15 PM <DIR>   jre1.6.0_45 
01/19/2014 05:40 AM <DIR>   jre1.7.0_51 
       0 File(s)    0 bytes 
       6 Dir(s) 45,369,233,408 bytes free 

C:\Java\Bit64> 

我想让我的Java 6版本成为默认版本。

不幸的是在C:\Windows\System32我还有一些
java.exe,我不知道何时以及如何安装我。

C:\Windows\System32>dir jav* 
Volume in drive C is OS 
Volume Serial Number is xxxx-yyyy 

Directory of C:\Windows\System32 

01/19/2014 05:40 AM   189,352 java.exe 
01/19/2014 05:40 AM   189,352 javaw.exe 
01/19/2014 05:40 AM   312,744 javaws.exe 
       3 File(s)  731,896 bytes 
       0 Dir(s) 45,369,040,896 bytes free 

C:\Windows\System32> 

不幸的是,我甚至无法重命名System32中的java.exe。

C:\Windows\System32>move java.exe java___exe 
    Access is denied. 
      0 file(s) moved. 

我记得有这一些选项在Java
控制面板,但我不知道哪些准确。

所以......

(1)如何让我的Java 6中默认的一个正确的方式?

我不确定我想穿上我的PATH %java_home%\bin之前
C:\Windows\System32。但即使我这样做,它仍然会启动Java 7.

(2)为什么?

(3)如果我重新安装两个版本,它会有帮助吗?

编辑1:

这是最奇怪的事情(我试过了基于
对下这个问题发表一些评论)。

C:\>echo %java_home% 
    C:\Java\Bit64\jdk1.6.0_45 

    C:\>echo %path% 
    %java_home%\bin;C:\Python27\Lib\site-packages\PyQt4;..................... 

    C:\>java -version 
    Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8 
    java version "1.7.0_51" 
    Java(TM) SE Runtime Environment (build 1.7.0_51-b13) 
    Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode) 

    C:\> 

编辑2:

OK,我都卸载的JDK。然后,我安装了JDK 7和
JDK 6(没有任何公共JRE)。我在7之后安装了6个。

(4)有谁知道这个键的当前版本是什么意思
和哪个程序使用它?我期待它被设置为
1.6,因为我安装了JDK 6秒。尽管如此,现在我不
看到任何问题,JDK 6是默认的,我猜是由于%java_home%\bin
%path%上的第一件事。

registry

+0

“我不确定我想把我的PATH%java_home%/ bin放在C:\ Windows \ System32之前”当你尝试完成时发生了什么? –

+0

@KevinWorkman我没有尝试过。我不觉得这是正确的方法。是吗? –

+2

只有一种方法找出!当然,简单地尝试它会比在互联网上询问陌生人更快,对吗? –

什么a_horse_with_no_name建议解决我的问题。

我卸载了两个JDK(6和7),然后我重新安装了它们两个,没有
检查'install public JRE'。这真的解决了一切。现在行为
是完全可预测的(我可以通过设置我的PATH来控制它)。
此外,我的System32文件夹中没有任何java.exe。

在此发布此答案,以便其他人可以从中受益。

看起来你可能会在Windows 7(我可能是错的)。您可以通过访问Java控制面板:

 
Start > Control Panel 
Click "Programs" 
Then "Java" should appear on the bottom (below Desktop Gadgets). 
Click on Java then select the "Java" tab in the "Java Control Panel". 
Click the "View..." button. 
Then you can click Find or Add and then check "Enabled" for the one you want to use. 

进行更改后,打开一个新的命令提示符,然后输入Java的版本来验证您的更改。

我认为这可能会解决您的需求。

+1

我有2个选项卡 - 用户和系统。问题是我不能禁用系统中的一个。为什么?! –

+1

你好,彼得。看起来Sun安装程序使用注册表来设置它。所以你必须使用注册表编辑器,然后进入“HKLM \ SOFTWARE \ JavaSoft \ Java Runtime Environment”。你可能在这里有几个键。进入密钥并将“JavaHome”更改为你想要的路径,也是“RuntimeLib”(我认为Eclipse使用它)。我知道我的Eclipse安装程序通常使用“jvm.dll”,但注册表指向一个不存在的目录。试试这个 - 我认为它应该工作。 –

+1

谢谢。我会记住这一点。我现在卸载了所有的JDK,并且没有“HKLM \ SOFTWARE \ JavaSoft \ Java运行时环境”,但我确实有“HKLM \ SOFTWARE \ JavaSoft”。再次感谢。如果您有其他有用的建议,请更新您的答案。我可能会在稍后回到它。 –