Узнайте, как использовать параметр -classpath или -cp для установки пути к классам Java из командной строки в ОС Windows и Linux.
1. Путь к классам Java
- Classpath — это список каталогов, в которых среда выполнения Java ищет классы и другие файлы ресурсов во время выполнения программы.
- По умолчанию classpath — это текущий рабочий каталог.
- Установка переменной среды CLASSPATH или использование параметра командной строки -classpath переопределяет значение по умолчанию.
- Если мы хотим включить текущий рабочий каталог в classpath, мы должны включить «.»(точку) в список путей.
- Значение classpath, заданное из командной строки, является временным и недоступно, если мы откроем новую командную строку.
- Если мы хотим установить classpath на постоянной основе, то нам следует установить classpath как переменную среды в Windows. В Linux установите значение в профиле bash.
Разделители пути зависят от платформы
Разделитель между двумя путями в значении classpath зависит от платформы.
В Windows разделителем пути является точка с запятой( ; ), а в Linux — двоеточие( : ).
2. Установка Classpath из командной строки
Есть два способа:
- Используйте параметр -classpath или -cp, чтобы указать расположение classpath при запуске приложения или инструмента Java.
java -cp .;c:/jars demo-application.jar
- Сначала используйте команду set CLASSPATH, а затем запустите приложение или инструмент Java в том же окне командной строки.
Он будет искать классы/ресурсы в указанных расположениях classpath.
Записи Classpath, которые не являются ни каталогами, ни архивами(файлами .zip или .jar), ни *, игнорируются.
set CLASSPATH .;c:/jars
Приведенные выше примеры специфичны для Windows. Для Linux используйте двоеточие в качестве разделителя пути.
3. Подстановочные знаки в Classpath
Обычно мы включаем в classpath два вида ресурсов: классы и jar-файлы.
- Чтобы включить классы, укажите полный путь к папке, в которой находятся классы. .(точка) представляет текущий каталог.
- Чтобы включить файлы jar, укажите полный путь к папке, где находятся файлы jar. Добавьте подстановочный знак звездочки(*) для добавления всех файлов jar в этом каталоге.
Обратите внимание, что файлы jar, присутствующие в подкаталогах, НЕ включаются автоматически. Подкаталоги должны быть включены явно.
java -cp c:/temp/lib applation.jar //includes all classes in the directory 'c:/temp/lib'java -cp c:/temp/lib/* application.jar //includes all jars in the directory 'c:/temp/lib'java -cp c:/temp/lib;c:/temp/lib/* application.jar //includes all classes and jars
4. Как очистить значение Classpath
Чтобы сбросить ранее заданное значение classpath, используйте эту команду, чтобы очистить его значение, используя пустое значение, назначенное переменной.
set CLASSPATH=