This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 702f2076574c3989ccb402d2cb664097d6600ee3
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Thu Jan 13 19:42:16 2022 +0000

    Fix building releases with Java 11. Update change log for Java 11 switch
---
 .../xreflection/ObjectReflectionPropertyInspector.java     | 14 +++++++++++++-
 webapps/docs/changelog.xml                                 | 10 ++++++++++
 2 files changed, 23 insertions(+), 1 deletion(-)

diff --git 
a/java/org/apache/tomcat/util/xreflection/ObjectReflectionPropertyInspector.java
 
b/java/org/apache/tomcat/util/xreflection/ObjectReflectionPropertyInspector.java
index 514aeb4..cf67e47 100644
--- 
a/java/org/apache/tomcat/util/xreflection/ObjectReflectionPropertyInspector.java
+++ 
b/java/org/apache/tomcat/util/xreflection/ObjectReflectionPropertyInspector.java
@@ -147,9 +147,21 @@ public final class ObjectReflectionPropertyInspector {
             (method.getParameterTypes() == null ||
             method.getParameterTypes().length == 0) &&
             ALLOWED_TYPES.contains(method.getReturnType()) &&
-            !Modifier.isPrivate(method.getModifiers());
+            !Modifier.isPrivate(method.getModifiers()) &&
+            isPresentInJava8Api(method);
     }
 
+    private static boolean isPresentInJava8Api(Method method) {
+        // Up to Java 18 EA 30 this was the only problematic method so this
+        // approach is OK. If we get more than a few of these this code may
+        // need to be refactored.
+        if (ClassLoader.class.isAssignableFrom(method.getDeclaringClass())) {
+            if ("getName".equals(method.getName())) {
+                return false;
+            }
+        }
+        return true;
+    }
 
     private static SetPropertyClass getOrCreateSetPropertyClass(Class<?> 
clazz) {
         boolean base = (clazz.getSuperclass() == null || clazz.getSuperclass() 
== Object.class);
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 828f33d..109bb9c 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -105,6 +105,16 @@
   issues do not "pop up" wrt. others).
 -->
 <section name="Tomcat 9.0.59 (remm)" rtext="in development">
+  <subsection name="Other">
+    <changelog>
+      <scode>
+        Switch to building with Java 11 and using <code>--release</code> to
+        target Java 8. Once back-ported to all currently supported branches,
+        this will reduce the number of Java versions developers need to juggle.
+        (markt)
+      </scode>
+    </changelog>
+  </subsection>
 </section>
 <section name="Tomcat 9.0.58 (remm)" rtext="release in progress 2022-01-15">
   <subsection name="Coyote">

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to