Описание тега classpath

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

При выполнении программ Java JVM использует метод, аналогичный классической динамической загрузке. То есть JVM лениво находит и загружает классы (это означает, что JVM загружает класс только при его первом использовании). Путь к классам сообщает JVM, где искать файлы, определяющие эти классы, в файловой системе.

JVM ищет и загружает классы в следующем порядке:

  • Классы начальной загрузки: это фундаментальные классы, принадлежащие платформе Java. Это общедоступные классы, которые принадлежат библиотеке классов Java, и она также включает частные классы, которые необходимы для правильной работы этой библиотеки.
  • Классы расширений: это пакеты, которые находятся в каталоге расширений JRE или JDK (обычно в jre/lib/ext/).
  • Определяемые пользователем пакеты и библиотеки: это пакеты и библиотеки, созданные пользователем или используемые пользователем. Сюда могут входить сторонние библиотеки.

Пакеты из стандартного API JDK и классов расширений доступны по умолчанию (путь к классам не нужно явно указывать для предоставления доступа к ним). Однако необходимо указать путь для всех пользовательских пакетов и библиотек. Это можно сделать либо через командную строку, переменную среды, либо в файле манифеста, связанном с файлом JAR, содержащим классы.