apache / apache/maven-javadoc-plugin

[MJAVADOC-624] tagletArtifacts throws exception in case artifact is a Java 9+ module

Open
#915 1 comment 0 reactions 0 assignees View on GitHub
bug priority:major
Dominant language
Java
Stars
107
Forks
116
Avg merge
1d 10h
Merged PRs (30d)
16

Description

**[Martin Schelldorfer](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=schelldorfer)** opened **[MJAVADOC-624](https://issues.apache.org/jira/browse/MJAVADOC-624?redirect=false)** and commented

Auto-detect the class names for taglet artifacts fails in case artifact is a Java 9+ module.

 

When using configuration parameter tagletArtifacts, taglet classes are auto-detected.

JavadocUtil.getTagletClassNames() is scanning all classes in jar file (artifact).

Java 9+ modules contain the class module-info.class in jar file.

When trying to load module-info.class, the exception "java.lang.NoClassDefFoundError: module-info is not a class because access_flag ACC_MODULE is set" is thrown.

 

Class module-info has to be skipped in scanning loop.

---

**Affects:** 3.1.1

**Remote Links:**
- [GitHub Pull Request #31
](https://github.com/apache/maven-javadoc-plugin/pull/31)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at JavadocUtil.getTagletClassNames(), which scans classes in each taglet artifact, and reproduce the failure with a Java 9+ module containing module-info.class. Check the scanning loop and confirm the completed behavior no longer attempts to load module-info.class or throws the reported NoClassDefFoundError.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.