java --classpath是否覆盖CLASSPATH或追加到它?
问题描述:
如果我有java --classpath是否覆盖CLASSPATH或追加到它?
CLASSPATH=/blah;/foo
然后运行
java -cp bar.jar com.yourcompany.SomeMain
是类路径现在
bar.jar
还是
/blah;/foo;bar.jar
基本上是使用命令线S女巫控制或增加现有的CLASSPATH
?
答
是的,cp或classpath选项会覆盖系统变量。 了解更多信息
http://docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/java.html
答
貌似-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
选项,则覆盖它,并改变类路径.
,当前目录,所以我的类文件可以不再找到。
答
-cp命令行开关覆盖。事实上,其他一些东西会覆盖CLASSPATH环境变量,如-jar开关或IDE特定的类路径设置。
在任何情况下,如果您想要快速查看运行代码时引用的类路径,可以考虑在类中显示此行。
System.getProperty("java.class.path");
请参阅本[查询](http://*.com/questions/2161468/java-classpath-option) – Jayamohan 2013-03-25 01:53:04