Oracle JDK安装了两个JRE?

在downvotingclose- request这个问题之前,请看这个问题是关于JDK 7而不是6,它有第二个问题’Q2’,任何重复的线程都没有解决这个问题,这个问题不仅仅是四个 java.exe实例。 谢谢!


我刚刚安装了Oracle的Java SE JDK(64位),这导致了以下目录布局,并且不知何故有两个 JRE:

C:\Program Files\Java\ \jdk1.7.0_40 \jre \jre7 

我现在是四个 java.exe可执行文件的自豪拥有者:

 C:\Program Files\Java\jdk1.7.0_40\bin\java.exe C:\Program Files\Java\jdk1.7.0_40\jre\bin\java.exe C:\Program Files\Java\jre7\bin\java.exe C:\Windows\System32\java.exe 

Q1:我应该在搜索路径中添加哪一个来执行基于Java的应用程序?

问题2:我是否需要将无限制JCE策略文件放入我的搜索路径中相应JRE的安全子目录中,或者也放入所有其他文件以便正常工作?

安装JDK时,您将自动安装JRE副本。 您无需单独安装JRE副本。 但这将是你的目录结构。

JDK文件夹中的JRE副本用于JRE的私有副本。

安装JDK会安装私有Java SE运行时环境(JRE)和可选的公共副本。 私有JRE需要运行JDK附带的工具。 它没有注册表设置,完全包含在jre目录中(通常位于C:\ Program Files \ jdk1.6.0 \ jre),其位置仅为JDK所知。 另一方面,公共JRE可以被其他Java应用程序使用,包含在JDK之外(通常在C:\ Program Files \ Java \ jre1.6.0),在Windows注册表中注册(在HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft ),可以使用“添加/删除程序”删除,可能会也可能不会在浏览器中注册,并且可能会也可能不会将java.exe复制到Windows系统目录(使其成为默认的系统Java平台)。

我应该将哪一个放入我的搜索路径来执行基于Java的应用程序?

根据“ JDK和JRE文件结构 ”文档,您应该将jdk1.7.0 \ bin添加到路径:

c:\ jdk1.7.0 \ bin Java Development Kit中包含的开发工具的可执行文件。 PATH环境变量应包含此目录的条目。 有关这些工具的更多信息,请参阅JDK工具。

我是否需要将无限制JCE策略文件放入我的搜索路径中相应JRE的安全子目录中,或者也放入所有其他子目录才能正常工作?

根据“Unlimited Strength Java(TM)密码术扩展策略文件”文档,您需要为计划使用的所有JRE安装无限强度策略JAR文件:

在Windows上,对于每个JDK安装,可能在“Program Files”目录下安装了其他JRE。 请确保为您计划使用的所有JRE安装无限强度策略JAR文件。