1

嗨,我有以下目录结构...

在此处输入图像描述

我在终端输入:javac -d bin src/com/elharo/math/Fraction.java

并且 Fraction.class 文件被放置在 bin/com/elharo/math 而不是 bin/

截屏

我只是想知道为什么编译器将文件放在那里。这就是拥有源代码和 bin 的意义所在,以便在编译源文件时它进入并行/镜像 bin 目录吗?

4

2 回答 2

0

输出路径将根据必须在 java 源文件中定义的公共类的包和类名来计算(顺便说一句,它必须与文件名减去“.java”相匹配)。它将相对于 -d 选项中的目录,或者相对于当前目录。

于 2013-07-17T14:33:33.180 回答
0

这正如预期的那样。 /com/elharo/math是该类所在的包。如果您将该类从该目录中取出,然后将其放入 bin 中,您将希望得到一个 noclassdeferror。

于 2013-07-17T14:33:37.630 回答