为什么我必须使用 :类:. -classpath 参数中的 jar 之后的符号?
Why do I have to use :classes:. notation after a jar in -classpath argument?
我正在阅读一些关于高级 Java 的书,我被指示使用以下命令编译 .java
文件:
javac -d classes -classpath c:\somepath\somejar.jar;classes:.
我想知道:
:.
这些符号代表一个参数还是:
和.
分别是classes
关键字后的不同参数?他们代表什么?
- 为什么我们需要在
somejar.jar
之后提供 classes:.
?作为所有这些组合:
javac -d classes -classpath c:\somepath\somejar.jar;classes:.
javac -d classes -classpath c:\somepath\somejar.jar;classes:
javac -d classes -classpath c:\somepath\somejar.jar;classes
javac -d classes -classpath c:\somepath\somejar.jar;
工作完全一样。它们生成完全相同的 .class
文件(每个 226 字节),当我将它们部署到 Web 容器中时,它们的工作方式相同。
那么这些符号有什么意义呢?以上四个 javac ..
命令有何不同?请问有哪位大神解释清楚吗?
classpath 值中使用的 ;
和 :
分隔符用于分隔多个文件夹作为 classpath 的值。
;
用于分隔Windows下的文件夹OS.
:
用于分隔 *nix OSs 下的文件夹。
-d classes
参数与 classes:.
一起表示编译后的 .class
文件将放置在 classes 文件夹中,而不是基于包层次结构。
因此,包含 classes 作为 classpath 的附加参数允许在编译新 java 时引用以前编译的 class 文件 classes。 .
是对执行 javac
命令的目录的 class 路径引用 - 当前工作目录。
这里唯一的问题是两种定界符类型的混合。为什么这样做 - 我不知道。
参考文献:
我正在阅读一些关于高级 Java 的书,我被指示使用以下命令编译 .java
文件:
javac -d classes -classpath c:\somepath\somejar.jar;classes:.
我想知道:
:.
这些符号代表一个参数还是:
和.
分别是classes
关键字后的不同参数?他们代表什么?- 为什么我们需要在
somejar.jar
之后提供classes:.
?作为所有这些组合:
javac -d classes -classpath c:\somepath\somejar.jar;classes:.
javac -d classes -classpath c:\somepath\somejar.jar;classes:
javac -d classes -classpath c:\somepath\somejar.jar;classes
javac -d classes -classpath c:\somepath\somejar.jar;
工作完全一样。它们生成完全相同的 .class
文件(每个 226 字节),当我将它们部署到 Web 容器中时,它们的工作方式相同。
那么这些符号有什么意义呢?以上四个 javac ..
命令有何不同?请问有哪位大神解释清楚吗?
classpath 值中使用的 ;
和 :
分隔符用于分隔多个文件夹作为 classpath 的值。
;
用于分隔Windows下的文件夹OS.
:
用于分隔 *nix OSs 下的文件夹。
-d classes
参数与 classes:.
一起表示编译后的 .class
文件将放置在 classes 文件夹中,而不是基于包层次结构。
因此,包含 classes 作为 classpath 的附加参数允许在编译新 java 时引用以前编译的 class 文件 classes。 .
是对执行 javac
命令的目录的 class 路径引用 - 当前工作目录。
这里唯一的问题是两种定界符类型的混合。为什么这样做 - 我不知道。
参考文献: