我正在尝试在一个文档中为多个模块创建javadoc(jdk11)。
我试图这样做。
文件/目录结构为:
workspace
doc
maths
src
main
java
net.virtualpsyclab.maths
net
virtualpsyclab
maths
lib
*.java
module-info.java
genutils
src
main
java
net.virtualpsyclab.genutilsm
net
virtualpsyclab
genutilsm
*.java
module-info.java
module-info.java
jdocOptions.txt
files.lst
jdocOptions.txt包含:
-d doc
--module-source-path .;genutils\src\main\java\net.virtualpsyclab.genutilsm;maths\src\main\java\net.virtualpsyclab.maths
--module workspace,net.virtualpsyclab.genutilsm,net.virtualpsyclab.maths
-verbose
-overview overview.html
和files.lst列出所有* .java文件。
三个module-info.java文件包含:
workspace\module-info.java
module workspace{
requires net.virtualpsyclab.genutilsm;
requires net.virtualpsyclab.maths;
}
workspace\genutils\src\main\java\net.virtualpsyclab.genutilsm\module-info.java
module net.virtualpsyclab.genutilsm{
exports net.virtualpsyclab.genutilsm;
}
workspace\maths\src\main\java\net.virtualpsyclab.maths\module-info.java
module net.virtualpsyclab.maths{
exports net.virtualpsyclab.maths.lib;
}
我希望模块net.virtualpsyclab.genutilsm和net.virtualpsyclab.maths的文档出现在目录workspace \ doc中,然后运行命令:
javadoc @jdocOptions.txt @files.lst
从目录工作区中,我看到所有显然正在处理的源文件,例如:
Loading source file c:\Users\Admin\workspace\maths\src\main\java\net.virtualpsyclab.maths\net\virtualpsyclab\maths\lib\NDieDistribution.java...
[parsing started SimpleFileObject[C:\Users\Admin\workspace\maths\src\main\java\net.virtualpsyclab.maths\net\virtualpsyclab\maths\lib\NDieDistribution.java]]
[parsing completed 0ms]
但随后所有结果均以“ javadoc:错误-未找到模块工作区”结尾。
对于我在这里犯错的任何帮助,我们将不胜感激。
答案 0 :(得分:1)
基于question和here中的信息,我现在已经确定了如何执行此操作。这些链接说明了各种Java工具的多模块操作模式。多模块模式是通过包含--module-source-path选项触发的。 module-source-path的元素是包含模块定义的目录。模块定义可以是对应于模块名称并包含module-info.java的目录,以及对应于包和源文件的目录结构。有了这个,我放弃了一个聚合器模块的想法(从上面的工作区目录中删除module-info.java),并将jdocOptions.txt文件更改如下:
-d doc
--module-source-path genutils\src\main\java\;maths\src\main\java\
关键的更改是删除--module选项,该选项在单模块模式下用于标识根模块,并缩短--module-source-path选项中的路径,以便模块目录例如net.virtualpsyclab.maths是路径的子目录,而不是路径的一部分。
现在我在工作区/文档中有两个模块所需的文档!