的javac和Java -classpath选项内(Javac vs Java within -cl

2019-08-17 04:55发布

是什么在调用的差异-classpath从选项javacjava

例如:

javac -classpath MyJar.jar GetJar.java
java -classpath MyJar.jar:. GetJar

它的工作原理,以及:

javac -classpath MyJar.jar GetJar.java
java GetJar

所以基本上对于与第一-classpath javac需要存在,而另一方面在java命令行可能是可选的。 为什么? 你知道在这种情况下,将是强制性的。 而更普遍的是效果-classpath被称为javac ,什么是效果-classpath通过所谓java

提前致谢。

Answer 1:

一类是用于编译的类路径。 另一种是用于运行的类路径。 他们不必是同一件事。 这组所需编译过程类是那些提到了每一个类被编译。 而运行时JAR可以调用一个空的主要方法,并没有依赖一个独立的类。

只要记住,在运行时类的依赖关系是动态解析,又名在需要时一类是只加载(这是一个概括,引导和系统类总是被载入)。



Answer 2:

本文档包含您的问题的答案

http://docs.oracle.com/javase/1.4.2/docs/tooldocs/windows/javac.html

使用-classpath每次都是一个非常耗时的工作。 相反,使用环境变量(如果你正在处理一个包,如Java邮件)

类路径是用于编译。 Javac是Java编译器,它的代码转换成字节码。

当谈到java用它来运行Java源文件/罐。



文章来源: Javac vs Java within -classpath option