[
https://issues.apache.org/jira/browse/HADOOP-19785?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18054732#comment-18054732
]
ASF GitHub Bot commented on HADOOP-19785:
-----------------------------------------
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>
```
> mvn site fails in JDK17
> -----------------------
>
> Key: HADOOP-19785
> URL: https://issues.apache.org/jira/browse/HADOOP-19785
> Project: Hadoop Common
> Issue Type: Sub-task
> Components: build, site
> Reporter: Akira Ajisaka
> Assignee: Akira Ajisaka
> Priority: Blocker
> Labels: pull-request-available
>
> mvn site fails in JDK17:
> https://github.com/apache/hadoop/actions/runs/20970062036/job/60270782439
> {noformat}
> Error:
> /home/runner/work/hadoop/hadoop/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebApp.java:26:
> error: cannot find symbol
> Error: import com.codahale.metrics.JmxReporter;
> Error: ^
> Error: symbol: class JmxReporter
> Error: location: package com.codahale.metrics
> Error:
> /home/runner/work/hadoop/hadoop/hadoop-common-project/hadoop-kms/src/main/java/org/apache/hadoop/crypto/key/kms/server/KMSWebApp.java:69:
> error: cannot find symbol
> Error: private JmxReporter jmxReporter;
> Error: ^
> Error: symbol: class JmxReporter
> Error: location: class KMSWebApp
> Error:
> /home/runner/work/hadoop/hadoop/hadoop-tools/hadoop-dynamometer/hadoop-dynamometer-infra/src/main/java/org/apache/hadoop/tools/dynamometer/SimulatedDataNodes.java:36:
> error: cannot find symbol
> Error: import org.apache.hadoop.hdfs.MiniDFSCluster;
> Error: ^
> Error: symbol: class MiniDFSCluster
> Error: location: package org.apache.hadoop.hdfs
> Error:
> /home/runner/work/hadoop/hadoop/hadoop-tools/hadoop-dynamometer/hadoop-dynamometer-infra/src/main/java/org/apache/hadoop/tools/dynamometer/SimulatedDataNodes.java:41:
> error: cannot find symbol
> Error: import org.apache.hadoop.hdfs.server.datanode.DataNodeTestUtils;
> Error: ^
> Error: symbol: class DataNodeTestUtils
> Error: location: package org.apache.hadoop.hdfs.server.datanode
> Error:
> /home/runner/work/hadoop/hadoop/hadoop-tools/hadoop-dynamometer/hadoop-dynamometer-infra/src/main/java/org/apache/hadoop/tools/dynamometer/SimulatedDataNodes.java:42:
> error: cannot find symbol
> Error: import org.apache.hadoop.hdfs.server.datanode.SimulatedFSDataset;
> Error: ^
> Error: symbol: class SimulatedFSDataset
> Error: location: package org.apache.hadoop.hdfs.server.datanode
> Error: [ERROR] 5 errors
> {noformat}
> even after fixing the above error by adding dependencies and upgrading
> plugins, I'm facing the below error in Hadoop's custom Doclet:
> {noformat}
> [ERROR] java.lang.ClassCastException: class jdk.proxy1.$Proxy0 cannot be cast
> to
> class jdk.javadoc.internal.tool.DocEnvImpl (jdk.proxy1.$Proxy0 is in module
> jdk.proxy1 of loader 'app'; jdk.javadoc.internal.tool.DocEnvImpl is in module
> jdk.javadoc of
> loader 'app')
> [ERROR] at
> jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.WorkArounds.<init>(WorkArounds.java:104)
> [ERROR] at
> jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.BaseConfiguration.initConfiguration(BaseConfiguration.java:251)
> [ERROR] at
> jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlConfiguration.initConfiguration(HtmlConfiguration.java:220)
> [ERROR] at
> jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.AbstractDoclet.run(AbstractDoclet.java:104)
> [ERROR] at
> jdk.javadoc/jdk.javadoc.doclet.StandardDoclet.run(StandardDoclet.java:103)
> [ERROR] at
> org.apache.hadoop.classification.tools.IncludePublicAnnotationsStandardDoclet.run(IncludePublicAnnotationsStandardDoclet.java:152)
> [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
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]