当我安装JDK(TM) Update 10时,它安装了以下四个特性:
->开发工具
->演示和样本
->源代码
-> Java DB
有了最后三个特征,我就一点也没问题了。
现在开发工具包括:-
java开发工具包(用于开发jdk1.6.0_10)
jdk (jdk1.6.0_10)包含: jre,bin,etc..etc.
jre目录也有一个bin目录。
在我的windows机器上,我设置了路径值:-
Files\Java\jdk1.6.0_10\bin;.; path=C:\Program
这意味着我正在使用jdk1.6.0_10\bin的javac.exe来编译.java文件
jdk1.6.0_10\bin而非jdk1.6.0_10\jre\bin的java.exe也用于解释.class文件。
jdk1.6.0_10\bin而非jdk1.6.0_10\jre\bin的javaw.exe也用于解释.class文件。
此外,我经常使用的还有appletviewer.exe,jar.exe、jarsigner.exe,java-rmi.exe,javadoc.exe,javap.exe、rmic.exe、rmiregistry.exe,还有一些exe的。
另外,jdk1.6.0_10\bin和jdk1.6.0_10\jre\bin都有一些共同的和不同的exe。
如果一个jdk1.6.0_10\bin开发人员希望开发和测试java应用程序,那么就足够了(因为它包含了粗体中提到的所有),如果用户想要使用java应用程序,那么公共jre就足够了(如果您不是开发人员或没有安装JDK,您也可以单独下载)。
现在我不明白的是,
当所有用于运行时的exe( (rmiregistry.exe) java.exe,javaw.exe)或绑定所需的-> (在粗体+斜体中提到)都出现在jdk1.6.0_10\bin,中时
让我困惑的是,
为什么jdk在jdk1.6.0_10目录中提供jre?
发布于 2009-10-07 12:36:00
如果您选择,JRE目录包含可以与应用程序一起重新分发的文件(请参阅jre/README.txt)。
发布于 2009-10-07 12:37:51
很难理解您真正要求的是什么,但是jdk\bin和jdk\jre\bin中的java.exe是相同的:
C:\Program Files\Java\jdk1.6.0_13>md5sum bin\java.exe
\ee21961559a99f6ab3967e709563cc03 *bin\\java.exe
C:\Program Files\Java\jdk1.6.0_13>md5sum jre\bin\java.exe
\ee21961559a99f6ab3967e709563cc03 *jre\\bin\\java.exe我想您是在问“如果您安装了JDK,那么在其中安装包含的JRE又有什么意义呢?”我认为您必须要求Sun来得到正确的答案,但是我想,对于任何想要在JRE环境上运行/测试他们的应用程序(他们正在开发)的人来说,而不是在成熟的JDK环境中。
发布于 2009-10-07 12:47:06
有两个相同的文件,但是在JDK中有一个JRE的主要原因是jre\lib\目录包含了运行Java所需的大部分内容,主要是包含主类文件的DLL和rt.jar。
为了减少已安装的文件大小,JDK命令也将查看jre\lib\。
Sun的工作人员在bin\中复制了几个文件,以使您的生活更加简单:仅仅在路径中使用JDK bin目录就足够了,而不是两者都有。
PS:安装程序还将java.exe的副本放在Windows\system32\目录中。
https://stackoverflow.com/questions/1531344
复制相似问题