我正在阅读一些关于高级Java的书,我被指示使用以下命令编译文件:.javajavac -d classes -classpath c:\somepath\somejar.jar;classes:.我想知道:这些符号是表示一个参数,还是分别表示关键字后的不同参数?他们代表什么?:.:.classes为什么我们需要提供之后?作为所有这些组合:classes:.somejar.jarjavac -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;classesjavac -d classes -classpath c:\somepath\somejar.jar;工作完全一样。它们生成完全相同的文件(每个 226 字节),当我在 Web 容器中部署它们时,它们的工作方式完全相同。.class那么这些符号有什么意义呢?以上四个命令有何不同?任何人都可以清楚地解释这一点,请?javac ..
1 回答
慕容708150
TA贡献1831条经验 获得超4个赞
使用类路径值中使用的 分隔符是为了将多个文件夹分隔为类路径的值。;
:
;
用于分隔 Windows 操作系统下的文件夹。
:
用于分隔 *nix 操作系统下的文件夹。
结合该参数意味着编译的文件将放置在 classes 文件夹中,而不是基于包层次结构的标准放置。-d classes
classes:.
.class
因此,将类作为类路径的附加参数包含在内,允许在编译新的 java 类时引用以前编译的类文件。是对从中执行命令的目录 (当前工作目录) 的类路径引用。.
javac
这里唯一的问题是两种分隔符类型的混合。为什么这样做-我不知道。
添加回答
举报
0/150
提交
取消