2013-08-11 1 views
2

Я использую jdk 1.7, после установки я не установил переменную среды JAVA_HOME или CLASSPATH, и я использую ее для компиляции класса сервлета, и все работает нормально.Почему мне не нужно устанавливать CLASSPATH и JAVA_HOME в Mac OS X?

Итак, я хочу знать, почему я не должен устанавливать эти переменные среды? Может ли JDK автоматически разрешать CLASSPATH?

+0

Используете ли вы язь? –

+0

Apple Java поставляется с предустановленной ОС Mac. Дайте нам знать версии ... –

+0

Я не использую ide, просто использую javac для компиляции, версия для Mac OS 10.8, последняя версия – Chinaxing

ответ

4

JAVA_HOME используется некоторыми инструментами (Ant, Maven и т. Д.), Но не нужен самой Java (или javac).

CLASSPATH никогда не должен использоваться. Он устанавливает глобальный путь к классам, который должен быть общим для нескольких программ Java, установленных на вашем компьютере, что совершенно нереально. Каждая программа должна иметь свой собственный путь класса, переданный в качестве аргумента в команду, используя опцию -classpath.

И это верно на всех платформах.

+0

, но javac может автоматически найти lib из jDK? – Chinaxing

+0

lib, установленный установкой JDK, автоматически устанавливается при запуске javac? – Chinaxing

+0

Да. Вам не нужно устанавливать какой-либо путь класса для стандартных классов JDK. –

0

Большинство Unix и Mac используют так называемую оболочку Bash в терминале. Когда вы запускаете исполняемую программу (с разрешениями на исполнение исполняемого файла) в оболочке Bash, система выполняет поиск во всех каталогах, перечисленных в PATH.

Имеют JAVA_HOME путь и может быть установлен как:

setenv JAVA_HOME /System/Library/Frameworks/JavaVM.framework/Home 
Смежные вопросы