2013-03-25 72 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 2013-03-25 01:53:04

回答

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");