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

标签 java classpath

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

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

更新感谢(@AlBlue)确认我的内存实际上是正确的,并且它们曾经是不同的

最佳答案

它们曾经不同,但现在它们是相同的(因此为了兼容性而接受两者)。最初,-classpath 需要有classes.zip (Java 1.0/1.1) 或rt.jar (Java 1.2+) 才能运行。因此,如果您运行 -classpath my.jar,它将不起作用(因为它找不到 java.lang.Object 和 friend )。因此,添加了 -cp ,它将把类路径/jar 添加到列表中,但不会覆盖classes.zip/rt.jar 条目。

但是,这种行为有时发生了变化(1.4?1.5?),因此您不再需要通过 -classpath 将条目放在“系统”类路径上,之后它们是相同的。

您可能可以运行 1.3 或 1.4 时代的命令(如果您仍然有它们)来验证更改何时发生。

关于java - `java -cp` 只是 `java -classpath` 的缩写吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1967441/

相关文章:

Java - 可以将对象转换为它不扩展的类吗?

java - 在Java中将对象序列化为json?

java - 是否可以通过 JMX 加载类信息?

命令行中的 Java NoClassDefFoundError

Java 9 模块和类路径 hell : conflicting class names

java - 为什么我的 javafx 应用程序中缺少标题栏?

java - Play Framework - 如何使用 'IN' 查询模型?

java - Tomcat 启动忽略用于调试的 jpda 选项

java - 创建 jar 文件时,如何保留其他 jar 文件的现有类路径?

java - 无法使用 Git Bash 运行 Java 应用程序