我想为名为 abc.java
的 java 文件创建 javadoc
源代码放在
C:/project1/src/
.它使用包com.mypack
,因此类文件放置在
C:/project1/src/com/mypack/
.
现在,当我想生成 javadoc 时,我从 project1 目录运行命令
javadoc -d ./src -sourcepath ./src
显示未指定包或类
当我运行时
javadoc -d ./src -sourcepath ./src com.mypack
它显示没有包com.mypack
的源文件
我知道 sourcepath 用于给出放置源文件的位置,因此应该仅使用 src 作为源路径给出正确的结果,但它不为什么???
但是当我将 abc.java 移动到 project1/src/com/mypack
目录并现在将源路径指定为
javadoc -d ./src -sourcepath ./src com.mypack
然后它会生成javadoc,所以你能消除这个疑问吗?何时以及如何在javadoc中使用sourcepath?
最佳答案
所有 Java 工具(javac、javadoc、IDE 等)都希望 Java 源文件和类文件存储在与包结构完全匹配的目录结构中。因此,如果您的类位于 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),并采用他们的项目布局约定(它们使用相同的约定)。
关于java - 在 javadoc 中使用源路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35670731/