[ https://issues.apache.org/jira/browse/MJAVADOC-652?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17539602#comment-17539602 ]
Robert Scholte commented on MJAVADOC-652: ----------------------------------------- Do the following steps: - unpack your zip and run {{mvn verify -Ddebug}} - go to target/apidocs and adjust the {{options}} file (e.g removing servlet-api from the --patch-module argument) - run from the target/apidocs directory {{javadoc}} and you'll see the errors. And by the way adjusting the options is the perfect way to test your changes before diving into the code. The patch is required for sure. Again, try to make a reproducible project, otherwise it is way to hard to figure out your specific problem. > Dependencies on the patch-module path > ------------------------------------- > > Key: MJAVADOC-652 > URL: https://issues.apache.org/jira/browse/MJAVADOC-652 > Project: Maven Javadoc Plugin > Issue Type: Bug > Components: javadoc > Affects Versions: 3.2.0, 3.3.0, 3.3.1, 3.3.2, 3.4.0 > Reporter: Phil > Assignee: Robert Scholte > Priority: Major > Attachments: MJAVADOC-652-PATCHMODULE.zip, MJAVADOC-652.zip > > > When building with Java 11 (so >9) the Javadoc options argument is built > using the module-path and patch-module. Some of the dependencies I work with > are ending up in patch-module which generates an error on Javadoc creation - > class not found. > From what I can see from the code (3.2.0), the decision of which argument to > use is based on: > # If the dependency jar has a module-info.class, add to module-path > # If the dependency jar has a MANIFEST file with Automatic-Module-Name > defined, add to module-path. > # If neither of the above, add to patch-module. > The javax.servlet-API-3.1.0.jar, for example, has neither 1 nor 2, so gets > amended to the patch-module. This then prevents Javadoc generation because > Java is unable to link classes from the servlet API. If I put the servlet API > into the module-path manually it works fine. > From my understanding, patch-module is used to either override classes in a > module or augment contents of a module. In this case, it is its own 'module' > (I think) and should not be patched into my module. I do not see a reason to > put any of my dependencies into patch-module. > Is this a bug, or just an unfortunate consequence of having to deal with > non-modular dependencies when building under a Java version that supports > modules. For what it is worth, the project I work on does not use modules, > everything on -classpath works just fine. > -- This message was sent by Atlassian Jira (v8.20.7#820007)