使用
之间的区别是什么 javac -cp classes helloworld.java
和
javac -classpath classes helloworld.java
在CMD?
答案 0 :(得分:5)
它们是相同的,请检查http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html
-classpath类路径 -cp classpath指定用于搜索类文件的目录,JAR文件和ZIP存档的列表。使用单独的类路径条目 分号(;)。指定-classpath或-cp会覆盖任何设置 CLASSPATH环境变量。
如果未使用-classpath和-cp且未设置CLASSPATH,则表示 用户类路径由当前目录(。)。
组成作为一种特殊的便利,包含基类的类路径元素 *的名称被认为等同于指定所有的列表 扩展名为.jar或.JAR的目录中的文件。一个Java程序 无法分辨两次调用之间的区别。
例如,如果目录mydir包含a.jar和b.JAR,那么 类路径元素mydir / *扩展为A.jar:b.JAR,除了 jar文件的顺序未指定。指定的所有jar文件 目录,甚至是隐藏的目录,都包含在列表中。一个类路径 简单地由*组成的条目扩展为所有jar文件的列表 当前目录。 CLASSPATH环境变量,在哪里 定义,将同样扩展。任何类路径通配符扩展 在Java VM启动之前发生。没有Java程序会看到 除了查询环境之外不扩展的外卡。 例如,通过调用System.getenv(" CLASSPATH")。
答案 1 :(得分:2)
绝对没有区别。它只是告诉Java编译器您要使用在命令行参数中指定的自定义类路径。
所以-cp
和-classpath
完全等效。
您可以在javac - Java programming language compiler页面找到更多信息。
答案 2 :(得分:1)
没有。它们是设置类路径的两种选择。请参阅man page。