`java -cp`只是`java -classpath`的缩写?

pet*_*ust 2 java classpath

在命令行上java -cp只是缩写java -classpath

(我似乎记得他们可能有不同的行为,但找不到明确的文档).

更新感谢(@AlBlue)确认我的记忆确实是正确的并且他们曾经是不同的.

AlB*_*lue 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时代的命令(如果您还有它们)以验证更改何时发生.


Bal*_*usC 6

在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)

看起来很清楚.它们都是一样的.所以,是的,它是别名.

  • 该文档中的"A"只是句子开头的一篇不定冠词:) (2认同)