【问题标题】:maven javadoc plugin error when used with modules Exit code: 1 - error: module not found:maven javadoc插件与模块一起使用时出错退出代码:1 - 错误:找不到模块:
【发布时间】:2020-10-19 02:50:17
【问题描述】:

我有一个使用 maven 作为构建系统的多模块项目。我想为项目生成 javadocs。我愿意:

mvn -e javadoc:javadoc

当 maven 进入第一个模块(Util)时,我得到了这个:

退出代码:1 - 错误:找不到模块:Util

[ERROR] 未能执行目标 org.apache.maven.plugins:maven-javadoc-plugin:3.2.0:javadoc 项目 Util 上的 (default-cli):Javadoc rep 中发生错误 ort 生成:[错误] 退出代码:1 - 错误:找不到模块:Util [错误] [错误] 命令行是:cmd.exe /X /C "C:\Users\Warren.jdks\adopt-openjdk-11.0.7\bin\javadoc.exe @options @packages @argfile" [ERROR] [ERROR] 参考生成的Javadoc 文件在 'C:\Users\Warren\IdeaProjects\Javabot_TOS\Util\target\site\apidocs' 目录[错误] [错误] -> [帮助 1] org.apache.maven.lifecycle.LifecycleExecutionException: 失败 执行目标 org.apache.maven.plugins:maven-javadoc-plugin:3.2.0:javadoc 项目 Util 上的 (default-cli):Javadoc 中发生错误 报告生成:退出代码:1 - 错误:找不到模块:Util

来自 Util/target/site/apidocs 目录:

argfile 读取:

'C:/Users/Warren/IdeaProjects/Javabot_TOS/Util/src/main/java/module-info.java'

选项如下:

--class-path 'C:/Program Files/Java/jdk1.8.0_92/lib/tools.jar;C:/Users/Warren/.m2/repository/org/apache/commons/commons-configuration2/ 2.7/commons-configuration2-2.7.jar;C:/Users/Warren/.m2/repository/org/codehaus/groovy/groovy/3.0.3/groovy-3.0.3.jar;C:/Users/Warren/。 m2/repository/org/codehaus/groovy/groovy-ant/3.0.3/groovy-ant-3.0.3.jar;C:/Users/Warren/.m2/repository/org/apache/ant/ant-launcher/ 1.10.7/ant-launcher-1.10.7.jar;C:/Users/Warren/.m2/repository/org/codehaus/groovy/groovy-astbuilder/3.0.3/groovy-astbuilder-3.0.3.jar; C:/Users/Warren/.m2/repository/org/codehaus/groovy/groovy-cli-picocli/3.0.3/groovy-cli-picocli-3.0.3.jar;C:/Users/Warren/.m2/存储库/org/codehaus/groovy/groovy-console/3.0.3/groovy-console-3.0.3.jar;C:/Users/Warren/.m2/repository/org/codehaus/groovy/groovy-datetime/3.0。 3/groovy-datetime-3.0.3.jar;C:/Users/Warren/.m2/repository/org/codehaus/groovy/groovy-docgenerator/3.0.3/groovy-docgenerator-3.0.3.jar;C: /Users/Warren/.m2/repository/org/codehaus/groovy/groov y-groovydoc/3.0.3/groovy-groovydoc-3.0.3.jar;C:/Users/Warren/.m2/repository/com/github/javaparser/javaparser-core/3.15.17/javaparser-core-3.15。 17.jar;C:/Users/Warren/.m2/repository/org/codehaus/groovy/groovy-groovysh/3.0.3/groovy-groovysh-3.0.3.jar;C:/Users/Warren/.m2/存储库/org/codehaus/groovy/groovy-jmx/3.0.3/groovy-jmx-3.0.3.jar;C:/Users/Warren/.m2/repository/org/codehaus/groovy/groovy-json/3.0。 3/groovy-json-3.0.3.jar;C:/Users/Warren/.m2/repository/org/codehaus/groovy/groovy-jsr223/3.0.3/groovy-jsr223-3.0.3.jar;C: /Users/Warren/.m2/repository/org/codehaus/groovy/groovy-macro/3.0.3/groovy-macro-3.0.3.jar;C:/Users/Warren/.m2/repository/org/codehaus/ groovy/groovy-nio/3.0.3/groovy-nio-3.0.3.jar;C:/Users/Warren/.m2/repository/org/codehaus/groovy/groovy-servlet/3.0.3/groovy-servlet- 3.0.3.jar;C:/Users/Warren/.m2/repository/org/codehaus/groovy/groovy-sql/3.0.3/groovy-sql-3.0.3.jar;C:/Users/Warren/。 m2/repository/org/codehaus/groovy/groovy-swing/3.0.3/groovy-swing-3.0.3.jar;C:/Users/Warren /.m2/repository/org/codehaus/groovy/groovy-templates/3.0.3/groovy-templates-3.0.3.jar;C:/Users/Warren/.m2/repository/org/codehaus/groovy/groovy- test/3.0.3/groovy-test-3.0.3.jar;C:/Users/Warren/.m2/repository/org/codehaus/groovy/groovy-test-junit5/3.0.3/groovy-test-junit5- 3.0.3.jar;C:/Users/Warren/.m2/repository/org/codehaus/groovy/groovy-testng/3.0.3/groovy-testng-3.0.3.jar;C:/Users/Warren/。 m2/repository/org/codehaus/groovy/groovy-xml/3.0.3/groovy-xml-3.0.3.jar;C:/Users/Warren/.m2/repository/commons-beanutils/commons-beanutils/1.9。 4/commons-beanutils-1.9.4.jar;C:/Users/Warren/.m2/repository/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar;C:/Users /Warren/.m2/repository/org/beanshell/bsh/1.3.0/bsh-1.3.0.jar;C:/Users/Warren/.m2/repository/commons-codec/commons-codec/1.14/commons- codec-1.14.jar;C:/Users/Warren/.m2/repository/commons-io/commons-io/2.7/commons-io-2.7.jar;C:/Users/Warren/.m2/repository/org/ apache/commons/commons-jexl3/3.1/commons-jexl3-3.1.jar;C:/U sers/Warren/.m2/repository/commons-jxpath/commons-jxpath/1.3/commons-jxpath-1.3.jar;C:/Users/Warren/.m2/repository/org/apache/commons/commons-lang3/3.10 /commons-lang3-3.10.jar;C:/Users/Warren/.m2/repository/commons-logging/commons-logging/1.2/commons-logging-1.2.jar;C:/Users/Warren/.m2/repository /org/apache/commons/commons-text/1.8/commons-text-1.8.jar;C:/Users/Warren/.m2/repository/org/apache/commons/commons-vfs2/2.6.0/commons-vfs2 -2.6.0.jar;C:/Users/Warren/.m2/repository/org/apache/hadoop/hadoop-hdfs-client/3.2.1/hadoop-hdfs-client-3.2.1.jar;C:/用户/Warren/.m2/repository/com/squareup/okhttp/okhttp/2.7.5/okhttp-2.7.5.jar;C:/Users/Warren/.m2/repository/com/squareup/okio/okio/1.6 .0/okio-1.6.0.jar;C:/Users/Warren/.m2/repository/gnu-regexp/gnu-regexp/1.1.4/gnu-regexp-1.1.4.jar;C:/Users/ Warren/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.11.0/jackson-databind-2.11.0.jar;C:/Users/Warren/.m2/repository/com/fasterxml/jackson /core/jackson-annotations/2.11.0/jackson-annotations -2.11.0.jar;C:/Users/Warren/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.11.0/jackson-core-2.11.0.jar;C:/Users/ Warren/.m2/repository/javax/servlet/javax.servlet-api/4.0.1/javax.servlet-api-4.0.1.jar;C:/Users/Warren/.m2/repository/org/yaml/snakeyaml /1.26/snakeyaml-1.26.jar;C:/Users/Warren/.m2/repository/org/springframework/spring-core/5.2.7.RELEASE/spring-core-5.2.7.RELEASE.jar;C:/ Users/Warren/.m2/repository/org/springframework/spring-jcl/5.2.7.RELEASE/spring-jcl-5.2.7.RELEASE.jar;C:/Users/Warren/.m2/repository/xml-resolver /xml-resolver/1.2/xml-resolver-1.2.jar;C:/Users/Warren/.m2/repository/com/sun/codemodel/codemodel/2.6/codemodel-2.6.jar;C:/Users/Warren/ .m2/repository/com/sun/xml/fastinfoset/FastInfoset/1.2.18/FastInfoset-1.2.18.jar;C:/Users/Warren/.m2/repository/com/sun/xml/dtd-parser/dtd -parser/1.4.3/dtd-parser-1.4.3.jar;C:/Users/Warren/.m2/repository/com/sun/istack/istack-commons-runtime/3.0.11/istack-commons-runtime -3.0.11.jar;C:/Users/Warren/.m2/repository/com/sun/is tack/istack-commons-tools/3.0.11/istack-commons-tools-3.0.11.jar;C:/Users/Warren/.m2/repository/javax/activation/javax.activation-api/1.2.0/ javax.activation-api-1.2.0.jar;C:/Users/Warren/.m2/repository/javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar;C: /Users/Warren/.m2/repository/com/sun/xml/bind/jaxb-jxc/2.3.3/jaxb-jxc-2.3.3.jar;C:/Users/Warren/.m2/repository/com/ sun/xml/bind/jaxb-xjc/2.3.3/jaxb-xjc-2.3.3.jar;C:/Users/Warren/.m2/repository/com/sun/xml/bind/jaxb-impl/2.3。 3/jaxb-impl-2.3.3.jar;C:/Users/Warren/.m2/repository/jakarta/xml/bind/jakarta.xml.bind-api/2.3.3/jakarta.xml.bind-api- 2.3.3.jar;C:/Users/Warren/.m2/repository/com/sun/xml/bind/external/relaxng-datatype/2.3.3/relaxng-datatype-2.3.3.jar;C:/Users /Warren/.m2/repository/com/sun/xml/bind/external/rgom/2.3.3/rgom-2.3.3.jar;C:/Users/Warren/.m2/repository/org/jvnet/staxex/ stax-ex/1.8.3/stax-ex-1.8.3.jar;C:/Users/Warren/.m2/repository/com/sun/xml/txw2/txw2/20110809/txw2-20110809.jar;C: /Users/Warren/.m2/repository/javax/xml/st ream/stax-api/1.0-2/stax-api-1.0-2.jar;C:/Users/Warren/.m2/repository/relaxngDatatype/relaxngDatatype/20020414/relaxngDatatype-20020414.jar;C:/Users/Warren /.m2/repository/com/sun/xsom/xsom/20140925/xsom-20140925.jar;C:/Users/Warren/.m2/repository/org/apache/ant/ant/1.10.3/ant-1.10。 3.jar;C:/Users/Warren/.m2/repository/junit/junit/4.12/junit-4.12.jar' --patch-module Util='C:/Users/Warren/IdeaProjects/Javabot_TOS/Util/src/main/java' -编码'UTF-8' -受保护 --发布 11 --module-source-path 'C:/Users/Warren/IdeaProjects/Javabot_TOS/Util/target/site/apidocs/src' -作者 -底部“版权所有 © 2020。保留所有权利。” -charset 'UTF-8' -d 'C:/Users/Warren/IdeaProjects/Javabot_TOS/Util/target/site/apidocs' -docencoding 'UTF-8' -doctitle 'Util 5.0-devel API' -linkoffline 'https://docs.oracle.com/en/java/javase/11/docs/api' 'C:/Users/Warren/IdeaProjects/Javabot_TOS/Util/target/javadoc-bundle-options' -采用 -版本 -windowtitle 'Util 5.0-devel API'

包裹内容如下:

org.javabot.util org.javabot.util org.javabot.util org.javabot.util

和 javadoc.bat 读取:

cmd.exe /X /C "C:\Users\Warren.jdks\adopt-openjdk-11.0.7\bin\javadoc.exe @options @packages @argfile"

module-info.java 文件位于 Util/src/main/java

谁能解释为什么它不起作用?

【问题讨论】:

  • 听起来您正在结合使用 java 模块系统 (Java 9+) 和 maven 多模块项目机制 (Recator)。该错误更多与java模块系统有关,与maven多模块机制无关。

标签: module javadoc maven-javadoc-plugin adoptopenjdk


【解决方案1】:

要为 Maven 多模块项目生成 JavaDoc,需要使用 aggregate 目标(例如,mvn javadoc:aggregate

注意:根据文档,自 3.1.0 版以来,JavaDoc 聚合已更改:https://maven.apache.org/plugins/maven-javadoc-plugin/examples/aggregate.html

【讨论】:

  • 您的回答与maven多模块系统有关。但问题与java 9+模块系统有关。
【解决方案2】:

我有同样的问题已经描述在:

Java 11/12 Javadoc with maven results in not generating Javadocs for tests

那么重要的是以下两点:

  • 使用新的 java 版本,如 11.0.10 或更高版本 - 没有旧版本!
  • 留意我的bug report,因为maven-javadoc-plugin 中似乎有一个错误

【讨论】:

    猜你喜欢
    • 2020-10-13
    • 1970-01-01
    • 2017-03-02
    • 2020-03-01
    • 2020-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多