当前位置: 首页 > 知识库问答 >
问题:

如何为多个模块生成javadoc

劳仲渊
2023-03-14

文件/目录结构为:

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

lst列出了所有*.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;
}
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:错误-模块工作区没有找到”而糟糕地结束。

对我在这里有什么错误的任何帮助都非常感谢。

共有1个答案

仇高韵
2023-03-14

基于这个问题中的信息,我现在已经找到了如何做到这一点。这些链接解释了各种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)是路径的子目录,而不是路径的一部分。

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

 类似资料:
  • 我已经做了一个maven Spring boot(REST)项目,它有3个子模块(一、api二、实现和三、服务模块)。 主方法(@SpringBootApplication)位于项目的根目录中。RESTWeb服务在IDE中运行良好,但maven不允许我将此项目打包为war并部署到外部tomcat。 为了解决这个问题,我添加了一个新模块,并在其中添加了其他模块的依赖项,并将其打包为war(通过添加m

  • 我知道我们可以通过使用mvn-f modulename/pom.xml dependency:tree命令获得特定的模块依赖树 是否有一种方法只使用特定模块的groupId、artifactId和version生成依赖树。

  • 本文向大家介绍Python如何将将模块分割成多个文件,包括了Python如何将将模块分割成多个文件的使用技巧和注意事项,需要的朋友参考一下 问题 你想将一个模块分割成多个文件。但是你不想将分离的文件统一成一个逻辑模块时使已有的代码遭到破坏。 解决方案 程序模块可以通过变成包来分割成多个独立的文件。考虑下下面简单的模块: 假设你想mymodule.py分为两个文件,每个定义的一个类。要做到这一点,首

  • 我正在尝试将我的API文档分解成多个JSON文件,这些文件可以独立编辑。我能找到的所有示例都使用了Swagger1.2模式,它有一个“api”:{}对象来分解它。2.0模式(http://json.schemastore.org/swagger-2.0)中似乎缺少这一点。定义的只是一个“路径”数组,它将所有APIendpoint绑定到这个数组中。这在swagger-ui中的效果是,有一个单一的“默

  • 我使用Jenkins CI(单管道作业)将不同的文件推送到JFrog Artifactory。 对于每个构建,我都会将构建信息发布到 Artifactory。但每个构建都有相同的模块 ID。 例如:在工件存储库浏览器中选择任何工件,然后转到构建选项卡,然后它显示所有构建而不是相应的工件构建信息 所以我想知道如何在将工件信息发布到工件工厂的同时修改工件模块 ID