在命令行上java -cp只是缩写java -classpath?
(我似乎记得他们可能有不同的行为,但找不到明确的文档).
更新感谢(@AlBlue)确认我的记忆确实是正确的并且他们曾经是不同的.
它们曾经是不同的,但现在它们是相同的(因此兼容兼容性).最初,-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时代的命令(如果您还有它们)以验证更改何时发生.
在Windows中
java -help
Run Code Online (Sandbox Code Playgroud)
每个人都说
-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.
Run Code Online (Sandbox Code Playgroud)
看起来很清楚.它们都是一样的.所以,是的,它是别名.