在命令行上
java -cp
只是java -classpath
的缩写?
(我似乎记得他们可能有不同的行为,但无法找到明确的文档。)
更新感谢(@AlBlue)确认我的记忆确实是正确的并且他们曾经不同。
答案 0 :(得分:8)
他们曾经不同,但现在他们是相同的(因此兼容兼容性)。最初,-classpath需要有classes.zip(Java 1.0 / 1.1)或rt.jar(Java 1.2+)才能运行。因此,如果你运行-classpath my.jar,它将无法工作(因为它不会找到java.lang.Object和朋友)。结果,添加了-cp,它将类路径/ jar附加到列表中,但不会覆盖classes.zip/rt.jar条目。
但是,这种行为有时会改变(1.4?1.5?),因此您不再需要通过-classpath将条目放在'system'类路径上,之后它们是相同的。
您可以运行1.3或1.4时代的命令(如果您还有),以验证更改的发生时间。
答案 1 :(得分:6)
在Windows中,
java -help
在每个
下说-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A ; separated list of directories, JAR archives,
and ZIP archives to search for class files.
看起来很清楚。它们都是一样的。所以,是的,它是别名。
答案 2 :(得分:0)
有关命令行参数的信息,请参阅JDK Tools and Utilities文档。