You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Anthony Baker (Jira)" <ji...@apache.org> on 2021/12/06 23:34:00 UTC

[jira] [Updated] (GEODE-9657) Javadoc errors occur on Java 17 due to split packages in Geode

     [ https://issues.apache.org/jira/browse/GEODE-9657?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Anthony Baker updated GEODE-9657:
---------------------------------
    Labels:   (was: needsTriage)

> 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: Bug
>          Components: core
>    Affects Versions: 1.13.4, 1.14.0
>            Reporter: John Blum
>            Priority: Major
>
> 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)