Почему 2 корзины для EXE в JDK? - PullRequest
       11

Почему 2 корзины для EXE в JDK?

2 голосов
/ 07 октября 2009

При установке обновления 10 JDK (TM) устанавливаются следующие четыре функции:

-> Средства разработки

-> Демоверсии и образцы

-> Исходный код

-> Java DB

С последними тремя функциями у меня вообще нет пробз.


Теперь инструменты разработки содержат: -

  1. java devlopment kit (для разработки java-приложений, здесь jdk1.6.0_10)
  2. public jre (что всегда требуется, если вы хотите запускать java-приложения независимо от jdk , здесь jre6)

jdk (jdk1.6.0_10) содержит: jre, bin, etc..etc ...

В каталоге

jre также есть каталог bin .


На моем компьютере с Windows я установил значение пути: -

путь = C: \ Program Files \ Java \ jdk1.6.0_10 \ bin;.;

Это означает, что я использую javac.exe из jdk1.6.0_10 \ bin для компиляции файлов .java и

java.exe также из jdk1.6.0_10 \ bin , а не из jdk1.6.0_10 \ jre \ bin для интерпретация файлов .class.

javaw.exe также из jdk1.6.0_10 \ bin , а не из jdk1.6.0_10 \ jre \ bin для интерпретация файлов .class.

Кроме того, jdk1.6.0_10 \ bin также имеет 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 имеют как общие, так и разные исполняемые файлы.


Если разработчик хочет разрабатывать и тестировать Java-приложения, jdk1.6.0_10 \ bin более чем достаточно (поскольку он содержит все вышеупомянутые исполняемые файлы, упомянутые в BOLD ), и если пользователь хочет использовать java-приложения, тогда public jre более чем достаточно (который поставляется с JDK, если вы не разработчик или у вас не установлен JDK, вы также можете скачать его отдельно).

Теперь, что я не понимаю, так это,

-> когда все исполняемые файлы для среды выполнения ( java.exe , javaw.exe ) или требуются для привязки ( rmiregistry.exe ) (упоминалось выше в BOLD + ITALIC ) присутствуют в jdk1.6.0_10 \ bin ,

Дело, которое меня смущает,

Почему jdk предоставляет jre внутри директории jdk1.6.0_10 ???

Ответы [ 5 ]

3 голосов
/ 07 октября 2009

Каталог JRE содержит файлы, которые вы можете распространять вместе с вашим приложением, если вы решите (см. jre/README.txt).

2 голосов
/ 07 октября 2009

Трудно понять, что вы на самом деле спрашиваете, но java.exe внутри jdk \ bin и jdk \ jre \ bin идентичны:

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.

1 голос
/ 07 октября 2009

Есть несколько идентичных файлов, но основной причиной наличия JRE внутри JDK является каталог jre\lib\, который содержит большинство вещей, необходимых для запуска Java, в основном DLL и rt.jar, который содержит файлы основного класса.

Для того чтобы сократить установленный размер файла, команды JDK также изучат jre\lib\.

Ребята из Sun продублировали несколько файлов в bin\, чтобы сделать вашу жизнь проще: часто достаточно просто иметь каталог JDK bin в вашей переменной PATH вместо обоих.

PS: Программа установки также помещает копию java.exe в каталог Windows\system32\.

0 голосов
/ 13 мая 2013

Ответ на вопрос можно найти здесь:

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

Частная JRE в jdk1.6.0_10 \ jre \ bin используется приложениями, связанными с JDK. Стоит оставить в покое.

0 голосов
/ 27 марта 2012

JRE - это среда выполнения Java, которая также поставляется с java-программой, которая перенаправляет приложения, требующие использования java. Когда вы запрашиваете веб-страницу, которая требует Java, должна быть программа, которая прослушивает такие запросы и использует Java соответствующим образом для создания правильного ответа. Java - это не просто набор для разработки: это язык программирования. То, что вы загружаете с веб-сайта, - это набор для разработки + среда выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...