[ https://issues.apache.org/jira/browse/GEODE-9657?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Darrel Schneider updated GEODE-9657: ------------------------------------ Labels: Java17 (was: ) > Javadoc errors occur on Java 17 due to split packages in Geode > -------------------------------------------------------------- > > Key: GEODE-9657 > URL: https://issues.apache.org/jira/browse/GEODE-9657 > Project: Geode > Issue Type: Sub-task > Components: core > Affects Versions: 1.13.4, 1.14.0 > Reporter: John Blum > Priority: Major > Labels: Java17 > > When trying to build any library, framework (e.g. _Spring Data for Apache > Geode_ (SDG)) or application with Apache Geode on Java 17, Javadoc errors > occur. > For example: > {code} > 22:36:52 [ERROR] > /opt/jenkins/data/workspace/spring-data-geode_3.0.x/spring-data-geode/src/main/java/org/springframework/data/gemfire/function/PojoFunctionWrapper.java:53: > error: cannot access Identifiable > 22:36:52 [ERROR] public class PojoFunctionWrapper implements Function { > 22:36:52 [ERROR] ^ > 22:36:52 [ERROR] class file for org.apache.geode.lang.Identifiable not > found > {code} > As it turns out, in Java 17, the _Javadoc_ tool now uses _Java_ modules. > _Javadoc_ is started with: > {code} > javadoc … --add-modules ALL-MODULE-PATH --module-path --patch-module … > {code} > {{geode-core-1.14.0.jar}} ships > {{org.apache.geode.lang.AttachAPINotFoundException}} and > {{geode-common-1.14.0.jar}} ships {{org.apache.geode.lang.Identifiable}}. Due > to this split-package arrangement, _Javadoc_ isn’t discovering > {{Identifiable}} because it has found the package {{org.apache.geode.lang}} > in {{geode-core-1.14.0.jar}}. > The best course of action is to make sure all {{org.apache.geode.lang}} > sub-packages and class are in 1 JAR (e.g. {{geode-common}}) or the other > (i.e. {{geode-core}}). -- This message was sent by Atlassian Jira (v8.20.1#820001)