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