Перейти к основному содержимому

Синтаксис пути к классам Java в Linux и Windows

· 2 мин. чтения

1. Обзор

Путь к классам — важная концепция в мире Java. Когда мы компилируем или запускаем приложение Java, JVM находит и загружает классы в пути к классам.

Мы можем определить элементы в пути к классам либо с помощью параметра -cp команд java/ j avac , либо с помощью переменной среды CLASSPATH . Независимо от того, какой подход мы используем для установки пути к классам, нам нужно следовать синтаксису пути к классам.

В этом кратком руководстве мы обсудим синтаксис пути к классам и, в частности, разделитель пути к классам в операционных системах Windows и Linux.

2. Разделитель путей к классам

Синтаксис classpath на самом деле довольно прост: список путей, разделенных разделителями путей. Однако сам разделитель пути зависит от системы.

В то время как точка с запятой (;) используется в качестве разделителя в системах Microsoft Windows, двоеточие (:) используется в Unix-подобных системах:

# On Windows system:
CLASSPATH="PATH1;PATH2;PATH3"

# On Linux system:
CLASSPATH="PATH1:PATH2:PATH3"

3. Вводящая в заблуждение справочная страница в Linux

Мы узнали, что разделитель пути к классам может отличаться в зависимости от операционной системы.

Однако, если мы внимательно посмотрим на справочную страницу Java для Linux, то увидим, что разделителем пути к классам является точка с запятой ( ; ).

Например, справочная страница команды java из последней (версия 17) OpenJDK показывает:

`–class -path путь к классу , -classpath путь к классу или -cp`

путь к классу Список каталогов, разделенных точкой с запятой ( ; ), архивов JAR и ZIP для поиска файлов классов.

Кроме того, мы можем найти точный текст в руководстве по Oracle JDK .

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

Более того, в Java четко задокументировано, что разделитель пути системно зависит от поля pathSeparatorChar класса File . ``

4. Вывод

В этой короткой статье мы обсудили синтаксис пути к классам в разных операционных системах.

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

Мы должны помнить, что разделитель пути зависит от системы. Двоеточие используется в Unix-подобных системах, а в системах Microsoft Windows используется точка с запятой.