Почему мы добавляем точку с запятой в переменную Java PATH, а не переменную JAVA_HOME? - PullRequest
0 голосов
/ 11 апреля 2011

У меня есть очень простой вопрос: зачем нам добавлять точку с запятой в конце переменной PATH и почему мы не добавляем точку с запятой в переменной JAVA_HOME?

Я читаю много книги форумы:

  1. Разделять разные пути в переменной PATH?или сказать системе или JRE, что после этого больше не следует искать.

  2. Переменная JAVA_HOME - это помощь JRE в дальнейшем обнаружении других файлов и расширений, таких как драйверы JDBC и т.д.

Ответы [ 5 ]

5 голосов
/ 11 апреля 2011

JAVA_HOME используется для указания каталога single . PATH указывает несколько каталогов, поэтому для разделения этих каталогов используется точка с запятой.

2 голосов
/ 11 апреля 2011

PATH - это идея для конкретной операционной системы. Это просто означает, что «когда я набираю команду, проверь и эти пути». Текущий каталог, в котором вы находитесь, обычно находится по пути поиска по умолчанию. Если вы задумаетесь об этом в течение минуты, вы легко сможете представить, сколько было бы боли использовать командную строку, если у вас не было идеи PATH.

Итак, учитывая PATH (с несколькими каталогами), вам нужен способ разделения записей. Каждая операционная система может использовать любой символ, но наиболее популярными являются две точки с запятой (в Windows) и двоеточие (в большинстве систем Unix, например Mac OS X).

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

Кроме того, вы также столкнетесь с CLASSPATH, который является путями всех библиотек (JAR) и ресурсов (например, файлов свойств), загружаемых вашим Java-приложением. CLASSPATH использует тот же формат / символы, что и PATH.

В качестве упражнения попробуйте написать немного кода, который повторяется и выводит значения System.getProperties () и System.getenv (). Это отличный способ увидеть все маленькие элементы конфигурации.

2 голосов
/ 11 апреля 2011

JAVA_HOME - это местоположение установки JDK или JRE.Многие связанные с Java библиотеки и файлы хранятся здесь.Это одно местоположение, а не набор мест, и поэтому нет необходимости использовать «;»для разделения местоположений.

Переменные PATH и CLASSPATH задают несколько расположений и поэтому используют ';'для разделения элементов.

Обратите внимание, что ';'специфично для Windows.

0 голосов
/ 11 апреля 2011

JAVA_HOME является корневым каталогом JDK / JRE. В моей системе JDK_HOME это: C: \ program files \ java \ jdk1.6.0_24

Поскольку инструменты командной строки (java, javac, jar и т. Д.) Расположены в каталоге bin, вы помещаете% JAVA_HOME% \ bin в PATH, а не сам% JAVA_HOME% ...

0 голосов
/ 11 апреля 2011

Точка с запятой - это разделитель; он разделяет несколько элементов в пути.

JAVA_HOME указывает только на одно место (каталог JDK / JRE)

Ваш PATH (или CLASSPATH) может охватывать множество местоположений.

Это, как говорится, установка точки с запятой в конце пути ничего не делает и игнорируется.

(Обратите внимание, что в * nix это двоеточие, а не точка с запятой)

...