3

I have a multi-module project that uses maven as its build system. I want to generate javadocs for the project. I do:

mvn -e javadoc:javadoc

When maven gets to the first module (Util) I get this:

Exit code: 1 - error: module not found: Util

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:3.2.0:javadoc (default-cli) on project Util: An error has occurred in Javadoc rep ort generation: [ERROR] Exit code: 1 - error: module not found: Util [ERROR] [ERROR] Command line was: cmd.exe /X /C "C:\Users\Warren.jdks\adopt-openjdk-11.0.7\bin\javadoc.exe @options @packages @argfile" [ERROR] [ERROR] Refer to the generated Javadoc files in 'C:\Users\Warren\IdeaProjects\Javabot_TOS\Util\target\site\apidocs' dir. [ERROR] [ERROR] -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:3.2.0:javadoc (default-cli) on pr oject Util: An error has occurred in Javadoc report generation: Exit code: 1 - error: module not found: Util

From the Util/target/site/apidocs dir:

argfile reads:

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

options reads:

--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/repository/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/groovy-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/repository/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:/Users/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:/Users/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/istack/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/rngom/2.3.3/rngom-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/stream/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' -encoding 'UTF-8' -protected --release 11 --module-source-path 'C:/Users/Warren/IdeaProjects/Javabot_TOS/Util/target/site/apidocs/src' -author -bottom 'Copyright © 2020. All rights reserved.' -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' -use -version -windowtitle 'Util 5.0-devel API'

packages reads:

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

and javadoc.bat reads:

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

The module-info.java file is located at Util/src/main/java

Can anyone shed any light on why it is not working?

munki
  • 41
  • 5
  • Sounds like you are using the java module system (Java 9+) and the maven multi-module project mechanism (Recator) in combination. The error is more related to the java module system and not to the maven multi-module mechanism. – PowerStat Feb 24 '21 at 19:13

2 Answers2

1

To generate the JavaDoc for a Maven multi-module project, the aggregate goal(s) need to be used (eg. mvn javadoc:aggregate)

Note: As per documentation, since version 3.1.0, JavaDoc aggregation has changed: https://maven.apache.org/plugins/maven-javadoc-plugin/examples/aggregate.html

Osmund Francis
  • 771
  • 10
  • 27
  • Your answer is related to the maven multi-module system. But the problem is related to the java 9+ module system. – PowerStat Feb 24 '21 at 19:15
0

I have the same problem(s) already described within:

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

So whats important are the following two points:

  • Use a new java version like 11.0.10 or above - no older versions!
  • Keep an eye at my bug report, because there seems to be a bug within maven-javadoc-plugin
PowerStat
  • 3,757
  • 8
  • 32
  • 57