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

时间:2009-12-27 23:57:12

标签: java classpath

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

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

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

3 个答案:

答案 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文档。