Использование параметра -cp не повлияет на переменную среды CLASSPATH.
Вы можете попробовать этот небольшой фрагмент кода, чтобы проверить это:
public class CPTest {
public static void main (final String[] args) {
String cp = System.getenv("CLASSPATH");
System.out.println(cp);
}
}
%echo $CLASSPATH
/home/test/:.
Вывод без опции -cp:
%java CPTest
/home/test/:.
Вывод с параметром -cp:
%java -cp /home/xanadu:. CPTest
/home/test/:.
Вывод одинаков для обоих вызовов (один с -cp, а другой без).
Также либо путь, указанный в переменной среды CLASSPATH , равен
используется или используется путь, указанный в параметре -cp . Это не смесь обоих
это один из них.
Это видно из приведенного ниже вызова.
Если CWD (текущий рабочий каталог "." )
исключено из опции -cp, средство запуска JVM (т.е. java) не может найти
Файл класса, несмотря на переменную среды CLASSPATH, содержащую CWD ( "." ).
%java -cp /home/test CPTest
Exception in thread "main" java.lang.NoClassDefFoundError: CPTest