2015-01-01 5 views
3

Я установил Oracle JDK в /usr/jdk/jdk1.8.0_25 и установил этот каталог в JAVA_HOME. JAVA_HOME/bin содержит исполняемый файл java, а JAVA_HOME/jre/bin содержит другой исполняемый файл java. В руководстве, которое я последовал, добавили JAVA_HOME/bin и JAVA_HOME/jre/bin в PATH, но который является правильным исполняемым файлом для использования и который будет использоваться, если я вызову java из командной строки?JDK java executable vs JRE executable

+0

Возможный дубликат [Есть ли JRE и JDK для запуска файла jar?] (Http://stackoverflow.com/questions/12261128/is-both-jre-and-jdk-needed-to-run-a -jar-файл) – 030

ответ

2

Вот упрощенный обзор различий между JDK и JRE

JRE означает J AVA R untime Х nvironment: он содержит только двоичные файлы для запуска Java программ

JDK означает J AVA D АЗВИТИЕ К его: он содержит двоичные файлы для запуска Java программы + двоичные файлы для компиляции исходного кода Java (и производить программу Java).

JDK всегда содержит JRE внутри (в директории <JDK_HOME>/jre)

Основное различие между JRE и JDK является Javac программа. (Javac означает явас ompiler) (вы также можете найти некоторые другие программы под <JDK_HOME>/bin, которые не присутствуют при <JDK_HOME>/jre/bin: все они могут быть полезны, чтобы сделать развитие Java - но в большинстве случаев - бесполезно для запуска программы Java

Все программы, которые находятся в обоих местах (т.е. <JDK_HOME>/bin и <JDK_HOME>/jre/bin) являются одинаковыми, так что это не очень важно сделать различие

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

0

Что бы ни было в пути для java - JAVA_HOME/bin или JAVA_HOME/jre/bin.

Если вы посмотрите на структуру папок, где установлена ​​jdk/jre, вы увидите, что в папке jdk/bin имеется довольно набор двоичных файлов, таких как java, javac, javap и т. Д. JRE будет включать java но не javac, javap и т. д. Я предполагаю, что это Linux, и вы загрузили сжатый архив и извлекли его.

0

Если вы действительно любознательны, то вы можете написать это в командной строке:

where java 

Это даст точное местоположение исполняемого файла. На моем компьютере это дает мне

C:\ProgramData\Oracle\Java\javapath\java.exe 

, которая является мягкой ссылкой для выполнения системы по умолчанию java.exe (в моем случае это C:\Program files\Java\jre 1.8.0_25\bin\java.exe)