2013-03-25 2 views
6

Если у меня естьСодержит ли java -classpath CLASSPATH или добавляет к нему?

CLASSPATH=/blah;/foo 

Затем запустите

java -cp bar.jar com.yourcompany.SomeMain 

ли в настоящее время путь к классам

bar.jar 

ИЛИ это

/blah;/foo;bar.jar 

основном делает командной строки s ведьма переопределяет или увеличивает существующие CLASSPATH?

+1

см это [запрос] (http://stackoverflow.com/questions/2161468/java-classpath-option) – Jayamohan

ответ

2

yes !, параметр cp или classpath переопределяет системную переменную. для получения дополнительной информации

http://docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/java.html

+1

Собственно ссылка вы даете не говорит, перекрывает ли -cp переменную окружения. Он говорит только, что переменная окружения и -cp переопределяют значение по умолчанию (которое является текущим каталогом). – ktm5124

+0

Да, спасибо, ссылка обновлена! – solaechea

+0

Прохладный, спасибо :-) – ktm5124

4

кажется -cp опция переопределяет переменную CLASSPATH среды.

$ export CLASSPATH=Tests 
$ java Printf 
Team Name      No. of Wins   No. of Losses   
Bobcats      0     0      
Tigers       1     1      
Lions       2     2      
Cheetahs      3     3      
Jackals      4     4      
Leopards      5     5      
Snow Leopards     6     6      
Cougars      7     7      
Mountain Lions     8     8      
Bobcats      9     9      
$ java -cp . Printf 
Error: Could not find or load main class Printf 

Переменная CLASSPATH среды по-прежнему установлено в Тесты папки, однако, когда я использую -cp вариант он перекрывает его, и изменяет путь к классам ., текущий каталог, так что мой файл класса больше не может быть найденный.

2

Переключатель командной строки -cp переопределяет. На самом деле, некоторые другие вещи переопределяют переменную среды CLASSPATH, такую ​​как -jar-переключатель или специфичные для IDE параметры пути к классам.

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

System.getProperty("java.class.path");