在 javadoc 中使用 sourcepath

using sourcepath in javadoc

我想为名为 abc.java 的 java 文件创建 javadoc 源代码放在

C:/project1/src/ 

。它使用包 com.mypack 所以 class 文件放在

C:/project1/src/com/mypack/ .

现在,当我想生成 javadoc 时,我从 project1 目录中 运行 命令作为

javadoc -d ./src -sourcepath ./src

它显示没有包或class指定

当我 运行

javadoc -d ./src -sourcepath ./src com.mypack

它显示包 com.mypack

没有源文件

我知道 sourcepath 用于给出放置源文件的位置,所以它应该给出正确的结果 src 仅作为 sourcepath 但它没有为什么???

但是当我将 abc.java 移动到 project1/src/com/mypack 目录并且现在将源路径指定为

javadoc -d ./src -sourcepath ./src com.mypack

然后它生成 javadoc 所以你能消除这个疑问 javadoc 中何时以及如何使用 sourcepath 吗?

所有 Java 工具(javac、javadoc、IDE 等)期望 Java 源文件和 class 文件存储在与包结构。因此,如果您的 class 在包 com.mypack 中,那么 .java 源文件应该在 src/com/mypack 中。不在 src.

您也不应将 .class 文件存储在 src 目录(用于源文件)中。使用 javac -d ./classes(例如)使编译器将 .class 文件存储在 classes 目录中。并且 javac 会自动将您的 .class 文件放在 classes/com/mypack 下,以尊重包结构。

对 javadoc 做同样的事情:不要将文档存储在 src 目录(用于源文件)中。使用 javadoc -d ./doc 使 javadoc 将文档存储在 doc 目录中。

一旦您对这些约定和工具感到满意,我建议您使用真正的构建工具(如 gradle 或 Maven,尽管我更喜欢 gradle),并采用它们的项目布局约定(他们使用相同的约定)。