我想为名为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用于给出sourcefile所在的位置,所以应该只用src作为源路径给出正确的结果,但这不是为什么???
但是当我将abc.java移动到project1/src/com/mypack
目录并现在将源路径作为
javadoc -d ./src -sourcepath ./src com.mypack
然后它生成javadoc所以你能清楚地知道在javadoc中何时以及如何使用sourcepath?
答案 0 :(得分:1)
所有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),并采用他们的项目布局约定(他们使用相同的) 。