如果我有
CLASSPATH=/blah;/foo
然后运行
java -cp bar.jar com.yourcompany.SomeMain
现在是类路径
bar.jar
或者是
/blah;/foo;bar.jar
基本上命令行开关会覆盖或增加现有的CLASSPATH
?
看起来 -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 环境变量仍设置为文件夹 Tests,但是,当我使用该-cp
选项时,它会覆盖它,并将类路径更改为.
当前目录,因此我的类文件无法再找到。
是的!,cp 或 classpath 选项会覆盖系统变量。了解更多信息
http://docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/java.html
-cp 命令行开关覆盖。事实上,还有一些其他的东西会覆盖 CLASSPATH 环境变量,例如 -jar 开关或 IDE 特定的类路径设置。
在任何情况下,如果您想快速查看在运行代码时引用了哪个类路径,您可以考虑在您的类中显示这一行。
System.getProperty("java.class.path");