如果我有
CLASSPATH=/blah;/foo
然后运行
java -cp bar.jar com.yourcompany.SomeMain
现在的类路径是什么
bar.jar
或者是这样。
/blah;/foo;bar.jar
基本上,命令行开关覆盖还是增强了现有的
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 环境变量仍然设置为 Tests 文件夹,然而,当我使用 -cp
选项时,它会覆盖原来的设置,并将 classpath 更改为当前目录 .
,所以我的类文件无法被找到。
是的!cp或classpath选项会覆盖系统变量。 更多信息请参考http://docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/java.html
-cp 命令行开关可以覆盖CLASSPATH环境变量,实际上,像-jar开关或特定于IDE的类路径设置等其他一些内容也会覆盖它。
无论如何,如果您想快速查看在运行代码时引用的类路径,可以考虑在您的类中显示此行。
System.getProperty("java.class.path");