[ 
https://issues.apache.org/jira/browse/MJAVADOC-698?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17440213#comment-17440213
 ] 

Gili commented on MJAVADOC-698:
-------------------------------

I'm not sure why this didn't break in past releases but I don't think it's a 
bug in the plugin implementation. If anything, I suggest adding documentation 
for this use-case.

I had to add the following configuration to the javadoc plugin configuration:
{code:java}
<additionalOptions>
  <!--
  Maven plugins cannot be full-fledged modules due to Maven's use of split 
packages.
  automatic-modules are treated as unnamed modules so we need to explicitly 
export packages
  to them.
  -->
  <option>--add-modules</option>
  <option>java.xml</option>
</additionalOptions>{code}
In other words, the javadoc tool expects us to give it Java Modules but Mojos 
cannot be a full-fledged module. Instead, we need to compile it as an 
automatic-module and pass {{--add-modules}} to the Javadoc plugin to resolve 
any missing module-info related dependencies.

I hope this helps others.

> javadoc:javadoc fails for non-JPMS mojo
> ---------------------------------------
>
>                 Key: MJAVADOC-698
>                 URL: https://issues.apache.org/jira/browse/MJAVADOC-698
>             Project: Maven Javadoc Plugin
>          Issue Type: Bug
>          Components: javadoc
>    Affects Versions: 3.3.1
>            Reporter: Gili
>            Priority: Major
>
> I upgraded maven-javadoc-plugin from version 3.2.0 to 3.3.1. At the same 
> time, I upgraded from JDK 11 to 17. All of a sudden I am getting the 
> following build failure I was not getting before:
> {code:java}
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-javadoc-plugin:3.3.1:jar (attach-javadocs) on 
> project maven_plugin: MavenReportException: Error while generating Javadoc: 
> [ERROR] Exit code: 1 - Loading source file 
> C:\Users\Gili\Documents\requirements.java\maven_plugin\src\main\java\com\github\cowwoc\requirements\maven\AbstractGeneratorMojo.java...
> [ERROR] Loading source file 
> C:\Users\Gili\Documents\requirements.java\maven_plugin\src\main\java\com\github\cowwoc\requirements\maven\GenerateApiMojo.java...
> [ERROR] Loading source file 
> C:\Users\Gili\Documents\requirements.java\maven_plugin\src\main\java\com\github\cowwoc\requirements\maven\OptimizeExceptionsMojo.java...
> [ERROR] Loading source file 
> C:\Users\Gili\Documents\requirements.java\maven_plugin\src\main\java\com\github\cowwoc\requirements\maven\package-info.java...
> [ERROR] Loading source file 
> C:\Users\Gili\Documents\requirements.java\maven_plugin\src\main\java\com\github\cowwoc\requirements\maven\UnpackMojo.java...
> [ERROR] Loading source file 
> C:\Users\Gili\Documents\requirements.java\maven_plugin\target\generated-sources\plugin\com\github\cowwoc\requirements\maven\HelpMojo.java...
> [ERROR] Loading source files for package 
> com.github.cowwoc.requirements.maven...
> [ERROR] Constructing Javadoc information...
> [ERROR] 
> C:\Users\Gili\Documents\requirements.java\maven_plugin\target\generated-sources\plugin\com\github\cowwoc\requirements\maven\HelpMojo.java:8:
>  error: package org.w3c.dom is not visible
> [ERROR] import org.w3c.dom.Document;
> [ERROR]               ^
> [ERROR]   (package org.w3c.dom is declared in module java.xml, but module 
> com.github.cowwoc.requirements.maven_plugin does not read it)
> [ERROR] 
> C:\Users\Gili\Documents\requirements.java\maven_plugin\target\generated-sources\plugin\com\github\cowwoc\requirements\maven\HelpMojo.java:9:
>  error: package org.w3c.dom is not visible
> [ERROR] import org.w3c.dom.Element;
> [ERROR]               ^
> [ERROR]   (package org.w3c.dom is declared in module java.xml, but module 
> com.github.cowwoc.requirements.maven_plugin does not read it)
> [ERROR] 
> C:\Users\Gili\Documents\requirements.java\maven_plugin\target\generated-sources\plugin\com\github\cowwoc\requirements\maven\HelpMojo.java:10:
>  error: package org.w3c.dom is not visible
> [ERROR] import org.w3c.dom.Node;
> [ERROR]               ^
> [ERROR]   (package org.w3c.dom is declared in module java.xml, but module 
> com.github.cowwoc.requirements.maven_plugin does not read it)
> [ERROR] 
> C:\Users\Gili\Documents\requirements.java\maven_plugin\target\generated-sources\plugin\com\github\cowwoc\requirements\maven\HelpMojo.java:11:
>  error: package org.w3c.dom is not visible
> [ERROR] import org.w3c.dom.NodeList;
> [ERROR]               ^
> [ERROR]   (package org.w3c.dom is declared in module java.xml, but module 
> com.github.cowwoc.requirements.maven_plugin does not read it)
> [ERROR] 
> C:\Users\Gili\Documents\requirements.java\maven_plugin\target\generated-sources\plugin\com\github\cowwoc\requirements\maven\HelpMojo.java:12:
>  error: package org.xml.sax is not visible
> [ERROR] import org.xml.sax.SAXException;
> [ERROR]               ^
> [ERROR]   (package org.xml.sax is declared in module java.xml, but module 
> com.github.cowwoc.requirements.maven_plugin does not read it)
> [ERROR] 
> C:\Users\Gili\Documents\requirements.java\maven_plugin\target\generated-sources\plugin\com\github\cowwoc\requirements\maven\HelpMojo.java:14:
>  error: package javax.xml.parsers is not visible
> [ERROR] import javax.xml.parsers.DocumentBuilder;
> [ERROR]                 ^
> [ERROR]   (package javax.xml.parsers is declared in module java.xml, but 
> module com.github.cowwoc.requirements.maven_plugin does not read it)
> [ERROR] 
> C:\Users\Gili\Documents\requirements.java\maven_plugin\target\generated-sources\plugin\com\github\cowwoc\requirements\maven\HelpMojo.java:15:
>  error: package javax.xml.parsers is not visible
> [ERROR] import javax.xml.parsers.DocumentBuilderFactory;
> [ERROR]                 ^
> [ERROR]   (package javax.xml.parsers is declared in module java.xml, but 
> module com.github.cowwoc.requirements.maven_plugin does not read it)
> [ERROR] 
> C:\Users\Gili\Documents\requirements.java\maven_plugin\target\generated-sources\plugin\com\github\cowwoc\requirements\maven\HelpMojo.java:16:
>  error: package javax.xml.parsers is not visible
> [ERROR] import javax.xml.parsers.ParserConfigurationException;
> [ERROR]                 ^
> [ERROR]   (package javax.xml.parsers is declared in module java.xml, but 
> module com.github.cowwoc.requirements.maven_plugin does not read it)
> [ERROR] 8 errors
> [ERROR] 
> [ERROR] Command line was: cmd.exe /X /C 
> "C:\Users\Gili\.jdks\openjdk-17.0.1\bin\javadoc.exe @options @packages 
> @argfile"
> [ERROR] 
> [ERROR] Refer to the generated Javadoc files in 
> 'C:\Users\Gili\Documents\requirements.java\maven_plugin\target\apidocs' dir.
> [ERROR] 
> [ERROR] -> [Help 1]{code}
> The Mojo in question did not change at all. It is not a Java Module so I 
> don't understand why the Javadoc engine is treating it as such. I would be 
> more than happy to upgrade the Mojo to a Java Module but at last check this 
> isn't technically possible (I get {{Error: the unnamed module reads package 
> org.apache.maven.plugin from both maven.core and maven.plugin.api}}).
> Any ideas?



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to