aajisaka commented on code in PR #8182:
URL: https://github.com/apache/hadoop/pull/8182#discussion_r2734587908


##########
pom.xml:
##########
@@ -701,16 +701,28 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
https://maven.apache.org/x
                   <version>${project.version}</version>
                 </docletArtifact>
               </docletArtifacts>
-              <useStandardDocletOptions>true</useStandardDocletOptions>
-
+              <additionalJOptions>
+                
<additionalJOption>-J--add-exports=jdk.javadoc/jdk.javadoc.internal.tool=ALL-UNNAMED</additionalJOption>
+              </additionalJOptions>
+              <additionalOptions>

Review Comment:
   The both are passed to `javadoc` and they are necessary.
   
   * Compile error occurs without additionalOptions 
(`--add-exports=jdk.javadoc/jdk.javadoc.internal.tools=ALL-UNNAMED`):
   
   ```
   [ERROR] 
/Users/akajisak/git/github/hadoop/hadoop-common-project/hadoop-annotations/src/main/java/org/apache/hadoop/classification/tools/HadoopDocEnvImpl.java:22:
 error: package jdk.javadoc.internal.tool is not visible
   [ERROR] import jdk.javadoc.internal.tool.DocEnvImpl;
   [ERROR]                            ^
   [ERROR]   (package jdk.javadoc.internal.tool is declared in module 
jdk.javadoc, which does not export it)
   [ERROR] 
/Users/akajisak/git/github/hadoop/hadoop-common-project/hadoop-annotations/src/main/java/org/apache/hadoop/classification/tools/HadoopDocEnvImpl.java:23:
 error: package jdk.javadoc.internal.tool is not visible
   [ERROR] import jdk.javadoc.internal.tool.ToolEnvironment;
   [ERROR]                            ^
   [ERROR]   (package jdk.javadoc.internal.tool is declared in module 
jdk.javadoc, which does not export it)
   [ERROR] 2 errors
   ```
   
   * Runtime error occurs without additionalJOptions 
(`-J--add-exports=jdk.javadoc/jdk.javadoc.internal.tools=ALL-UNNAMED`):
   
   ```
   [ERROR] error: fatal error encountered: java.lang.IllegalAccessError: 
superclass access check failed: class 
org.apache.hadoop.classification.tools.HadoopDocEnvImpl (in unnamed module 
@0x7a55f88e) cannot access class jdk.javadoc.internal.tool.DocEnvImpl (in 
module jdk.javadoc) because module jdk.javadoc does not export 
jdk.javadoc.internal.tool to unnamed module @0x7a55f88e
   [ERROR] error: Please file a bug against the javadoc tool via the Java bug 
reporting page
   [ERROR]   (https://bugreport.java.com) after checking the Bug Database 
(https://bugs.java.com)
   [ERROR]   for duplicates. Include error messages and the following 
diagnostic in your report. Thank you.
   [ERROR] java.lang.IllegalAccessError: superclass access check failed: class 
org.apache.hadoop.classification.tools.HadoopDocEnvImpl (in unnamed module 
@0x7a55f88e) cannot access class jdk.javadoc.internal.tool.DocEnvImpl (in 
module jdk.javadoc) because module jdk.javadoc does not export 
jdk.javadoc.internal.tool to unnamed module @0x7a55f88e
   [ERROR]      at java.base/java.lang.ClassLoader.defineClass1(Native Method)
   [ERROR]      at 
java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
   [ERROR]      at 
java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
   [ERROR]      at 
java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:524)
   [ERROR]      at 
java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:427)
   [ERROR]      at 
java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:421)
   [ERROR]      at 
java.base/java.security.AccessController.doPrivileged(AccessController.java:712)
   [ERROR]      at 
java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:420)
   [ERROR]      at 
java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:592)
   [ERROR]      at 
java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
   [ERROR]      at 
org.apache.hadoop.classification.tools.RootDocProcessor.process(RootDocProcessor.java:54)
   [ERROR]      at 
org.apache.hadoop.classification.tools.IncludePublicAnnotationsStandardDoclet.run(IncludePublicAnnotationsStandardDoclet.java:151)
   [ERROR]      at 
jdk.javadoc/jdk.javadoc.internal.tool.Start.parseAndExecute(Start.java:556)
   [ERROR]      at 
jdk.javadoc/jdk.javadoc.internal.tool.Start.begin(Start.java:393)
   [ERROR]      at 
jdk.javadoc/jdk.javadoc.internal.tool.Start.begin(Start.java:342)
   [ERROR]      at 
jdk.javadoc/jdk.javadoc.internal.tool.Main.execute(Main.java:63)
   [ERROR]      at jdk.javadoc/jdk.javadoc.internal.tool.Main.main(Main.java:52)
   [ERROR] 2 errors
   ```
   
   > I would have expected we only need it in additionalJOptions:
   
   The following config also worked:
   ```
                 <additionalJOptions>
                   
<additionalJOption>--add-exports=jdk.javadoc/jdk.javadoc.internal.tool=ALL-UNNAMED</additionalJOption>
                   
<additionalJOption>-J--add-exports=jdk.javadoc/jdk.javadoc.internal.tool=ALL-UNNAMED</additionalJOption>
                 </additionalJOptions>
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to