https://bz.apache.org/bugzilla/show_bug.cgi?id=70049

            Bug ID: 70049
           Summary: Error in WebappClassLoaderBase.getResources
           Product: Tomcat 9
           Version: 9.0.118
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: regression
          Priority: P2
         Component: Catalina
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: -----

We are using MyBatis to register some TypeAliases.

This worked perfectly well for Tomcat 9.0.117 (and before) and stopped working
in Tomcat 9.0.118. Going back to 9.0.117 confirmed that this is a bug
introduced in exactly this version.

The war is perfectly fine (no subfolder under Absence.class, class can be
extracted from it just fine, no inner classes, just a plain data holder).

Here is the stacktrace:

2026-05-18 11:28:19,779 [][] ERROR InitializerContextListener Init failed!
java.lang.IllegalArgumentException: The resource path
[/WEB-INF/classes/com/<redacted>/bo/Absence.class/����^@^@^@A^@/] has been
normalized to [null] which is not valid
        at
org.apache.catalina.webresources.StandardRoot.validate(StandardRoot.java:259)
        at
org.apache.catalina.webresources.StandardRoot.getResources(StandardRoot.java:303)
        at
org.apache.catalina.webresources.StandardRoot.getClassLoaderResources(StandardRoot.java:227)
        at
org.apache.catalina.loader.WebappClassLoaderBase.findResources(WebappClassLoaderBase.java:952)
        at
org.apache.catalina.loader.WebappClassLoaderBase.getResources(WebappClassLoaderBase.java:1047)
        at org.apache.ibatis.io.VFS.getResources(VFS.java:199)
        at org.apache.ibatis.io.DefaultVFS.list(DefaultVFS.java:110)
        at org.apache.ibatis.io.DefaultVFS.list(DefaultVFS.java:158)
        at org.apache.ibatis.io.VFS.list(VFS.java:240)
        at org.apache.ibatis.io.ResolverUtil.find(ResolverUtil.java:250)
        at
org.apache.ibatis.type.TypeAliasRegistry.registerAliases(TypeAliasRegistry.java:138)

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to