2013-08-06 1 views
1

Если путь не задан, то команда `JAVAC» из командной строки результатов вПочему команда «java» выполняется, даже если путь не задан?

„JAVAC“ не распознается как внутренней или внешней командой, исполняемой программой или пакетным файлом.

Принимая во внимание, что команда java успешно выполнена.

Платформа: Windows XP

+0

В какой операционной системе? Как была установлена ​​Java? – Joni

+4

У вас есть JRE, но не JDK. –

ответ

3

Если это машина для Windows, и вы у установлен JDK, что, вероятно, происходит то, что программа установки помещает копию java.exe в системный каталог, который включен в PATH, например, в C:\WINDOWS\system32.

Установщик делает это, чтобы вы могли запускать программы Java без дальнейшей настройки. Компилятору не дается одинаковое обращение, не зная почему.

+0

Это ответ, который я искал. Благодарю. –

+1

Нет, 'javac.exe' не копируется в системные каталоги. – Joni

+0

@CodeEnthusiastic Вы можете проверить свою систему System32 и проверить это? Кажется, у меня установлены оба, и я не нашел там 'java.exe'. –

3

Вероятно, указывает на то, что машина имеет Java Runtime Environment (JRE), но не установлена ​​JDK. javac и другие связанные с Java программы, такие как javadoc, jarsigner и т. Д. Являются частью набора Java Development Kit, а не JRE.

+3

@AshishAggarwal, Почему, когда это ответ? –

+2

@AshishAggarwal. Это - ответ на вопрос. –

+0

Я думаю, вы неправильно поняли мой вопрос. Я спрашиваю: если я не задал путь, то почему команда «java» выполняется и почему «javac» нет? –

0

Если машина имеет JRE, тогда java команда будет работать после того, как вы получите установку целиком jdk содержит путь к javac.

Если JRE установлен только тогда, то java.exe находится под PATH переменная что-то вроде C:\Program Files (x86)\Java\jre1.6.0_43\bin thats why java works. попробуйте ввести команду в командной строке.

> echo %PATH%