-
Bug
-
Resolution: Fixed
-
P4
-
10, 11, 12
-
b08
-
generic
-
generic
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8234766 | 11.0.7-oracle | Jan Lahoda | P4 | Resolved | Fixed | b01 |
JDK-8228869 | 11.0.5 | Jan Lahoda | P4 | Resolved | Fixed | b02 |
ADDITIONAL SYSTEM INFORMATION :
java version "11-ea" 2018-09-25
Java(TM) SE Runtime Environment 18.9 (build 11-ea+23)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11-ea+23, mixed mode)
macOS 10.13.6
A DESCRIPTION OF THE PROBLEM :
See https://issues.apache.org/jira/browse/LOG4J2-2393. With log4j-api-2.10.0.jar entering
javadoc -verbose --module-path ~/.m2/repository/org/apache/logging/log4j/log4j-api/2.10.0/log4j-api-2.10.0.jar -d temp ./module-info.java results in Javadoc finding the log4j-api module. However, javadoc -verbose --module-path ~/Downloads/log4j-api-2.11.0.jar -d temp ./module-info.java results in
Loading source file ./module-info.java...
./module-info.java:2: error: module not found: org.apache.logging.log4j
requires org.apache.logging.log4j;
The difference here is that in log4j 2.10.0 module-info.class is at the root of the log4j-api jar. In log4j 2.11.0 module-info.class is located at META-INF/versions/9. This change was made at the advise of the Jigsaw dev list.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. Download log4j-api-2.11.0.jar.
2. Create a module info such as
module my.test {
requires org.apache.logging.log4j;
}
3. Run the command javadoc -verbose --module-path ./log4j-api-2.11.0.jar -d temp ./module-info.java
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Loading source file ./module-info.java...
[parsing started SimpleFileObject[/Users/rgoers/module-info.java]]
[parsing completed 13ms]
[loading /Users/rgoers/.m2/repository/org/apache/logging/log4j/log4j-api/2.10.0/log4j-api-2.10.0.jar(/module-info.class)]
[loading /modules/java.base/module-info.class]
Constructing Javadoc information...
javadoc: error - No public or protected classes found to document.
[search path for source files: .]
[search path for class files: /Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home/lib/modules,.]
[done in 510 ms]
1 error
ACTUAL -
Loading source file ./module-info.java...
./module-info.java:2: error: module not found: org.apache.logging.log4j
requires org.apache.logging.log4j;
^
[parsing started SimpleFileObject[/Users/rgoers/module-info.java]]
[parsing completed 10ms]
[loading /modules/java.base/module-info.class]
[done in 326 ms]
1 error
FREQUENCY : always
java version "11-ea" 2018-09-25
Java(TM) SE Runtime Environment 18.9 (build 11-ea+23)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11-ea+23, mixed mode)
macOS 10.13.6
A DESCRIPTION OF THE PROBLEM :
See https://issues.apache.org/jira/browse/LOG4J2-2393. With log4j-api-2.10.0.jar entering
javadoc -verbose --module-path ~/.m2/repository/org/apache/logging/log4j/log4j-api/2.10.0/log4j-api-2.10.0.jar -d temp ./module-info.java results in Javadoc finding the log4j-api module. However, javadoc -verbose --module-path ~/Downloads/log4j-api-2.11.0.jar -d temp ./module-info.java results in
Loading source file ./module-info.java...
./module-info.java:2: error: module not found: org.apache.logging.log4j
requires org.apache.logging.log4j;
The difference here is that in log4j 2.10.0 module-info.class is at the root of the log4j-api jar. In log4j 2.11.0 module-info.class is located at META-INF/versions/9. This change was made at the advise of the Jigsaw dev list.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. Download log4j-api-2.11.0.jar.
2. Create a module info such as
module my.test {
requires org.apache.logging.log4j;
}
3. Run the command javadoc -verbose --module-path ./log4j-api-2.11.0.jar -d temp ./module-info.java
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Loading source file ./module-info.java...
[parsing started SimpleFileObject[/Users/rgoers/module-info.java]]
[parsing completed 13ms]
[loading /Users/rgoers/.m2/repository/org/apache/logging/log4j/log4j-api/2.10.0/log4j-api-2.10.0.jar(/module-info.class)]
[loading /modules/java.base/module-info.class]
Constructing Javadoc information...
javadoc: error - No public or protected classes found to document.
[search path for source files: .]
[search path for class files: /Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home/lib/modules,.]
[done in 510 ms]
1 error
ACTUAL -
Loading source file ./module-info.java...
./module-info.java:2: error: module not found: org.apache.logging.log4j
requires org.apache.logging.log4j;
^
[parsing started SimpleFileObject[/Users/rgoers/module-info.java]]
[parsing completed 10ms]
[loading /modules/java.base/module-info.class]
[done in 326 ms]
1 error
FREQUENCY : always
- backported by
-
JDK-8228869 Javadoc does not support module-info in a multi-release jar
-
- Resolved
-
-
JDK-8234766 Javadoc does not support module-info in a multi-release jar
-
- Resolved
-
- duplicates
-
JDK-8222124 Javadoc does not support module-info in a multi-release jar
-
- Closed
-
-
JDK-8222309 Javadoc fails for modules requiring multi-release JARs
-
- Closed
-
- relates to
-
JDK-8226254 Javadoc tool doesn't respect module descriptor in Multi-Release folder
-
- Closed
-