为什么在jdk中有2个bin用于exe?

时间:2009-10-07 12:28:39

标签: java

当我安装JDK(TM)Update 10时,它会安装以下四个功能:

- >开发工具

- >演示和样本

- >源代码

- > Java DB

根据最后三项功能,我根本没有任何问题。


现在,开发工具包含: -

  1. java devlopment kit(开发java应用程序,这里是jdk1.6.0_10)
  2. public jre(如果你想运行java应用程序,无论jdk ,这里总是必需的,这里jre6)
  3. jdk(jdk1.6.0_10)包含: jre,bin等。等等......

    jre目录还有一个bin目录


    在我的Windows机器上,我设置了路径值: -

    path = C:\ Program Files \ Java \ jdk1.6.0_10 \ bin;。;

    这意味着我正在使用 jdk1.6.0_10 \ bin javac.exe 来编译.java文件和

    来自 jdk1.6.0_10 \ bin java.exe ,而不是 jdk1.6.0_10 \ jre \ bin < / strong>用于解释.class文件。

    来自 jdk1.6.0_10 \ bin javaw.exe ,而不是 jdk1.6.0_10 \ jre \ bin < / strong>用于解释.class文件。

    此外,jdk1.6.0_10 \ bin还有 appletviewer.exe jar.exe jarsigner.exe < em> java-rmi.exe javadoc.exe javap.exe rmic.exe ,<我经常使用的strong> rmiregistry.exe 更多exe的

    同时jdk1.6.0_10 \ bin,jdk1.6.0_10 \ jre \ bin都有一些常见的以及不同的exe。


    如果开发人员想要开发和测试java应用程序, jdk1.6.0_10 \ bin 就足够了(因为它包含 BOLD ),如果是 用户想要使用java应用程序,那么公共jre 就足够了(随JDK提供,如果你不是开发人员或没有安装JDK,你也可以单独下载。

    现在我没有得到的是,

    - &GT;当运行时的所有exe( java.exe javaw.exe )或绑定所需的exe( rmiregistry.exe )时(上面提到的< strong> BOLD + ITALIC )出现在 jdk1.6.0_10 \ bin

    令我困惑的一点是,

    为什么jdk在jdk1.6.0_10目录中提供jre ???

5 个答案:

答案 0 :(得分:3)

如果您选择(参见jre/README.txt),JRE目录中包含您可以随应用程序重新分发的文件。

答案 1 :(得分:2)

很难理解你的真实要求,但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环境的人。 / p>

答案 2 :(得分:1)

有几个相同的文件,但在JDK中使用JRE的主要原因是jre\lib\目录,其中包含运行Java所需的大部分内容,主要是DLL和rt.jar。包含主类文件。

为了减少已安装的文件大小,JDK命令也会查看jre\lib\

Sun的工作人员在bin\复制了少数文件,让您的生活变得更加简单:只有在您的PATH中使用JDK bin目录而不是两者。

PS:安装程序还在java.exe目录中放置了Windows\system32\的副本。

答案 3 :(得分:0)

JRE是Java运行时环境,还附带了重定向需要使用java的应用程序的java程序。当您请求需要java的网页时,必须有一个程序来监听此类请求并适当地使用Java来创建正确的响应。 Java不仅仅是一个开发工具包:它是一种编程语言。您从网站下载的是开发工具包+运行时环境。

答案 4 :(得分:0)

问题的答案可以在这里找到:

http://www.oracle.com/technetwork/java/javase/documentation/install-windows-142126.html#private

jdk1.6.0_10 \ jre \ bin中的私有JRE由与JDK捆绑在一起的应用程序使用。应该不管它。