Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为多个模块生成javadoc_Java_Javadoc_Java Module_Module Path - Fatal编程技术网

如何为多个模块生成javadoc

如何为多个模块生成javadoc,java,javadoc,java-module,module-path,Java,Javadoc,Java Module,Module Path,我试图在一个文档中为多个模块创建javadoc(jdk11) 我试着这样做 文件/目录结构为: workspace doc maths src main java net.virtualpsyclab.maths net virtualpsyclab

我试图在一个文档中为多个模块创建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.math的文档显示在目录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:error-moduleworkspace-notfound”而告终


非常感谢您对我所犯错误的任何帮助。

基于本文中的信息,我现在已经找到了解决方法。这些链接解释了各种java工具的多模块操作模式。多模块模式通过包含选项--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.math)是路径的子目录,而不是路径的一部分

现在,我在workspace/doc中有了两个模块所需的文档