https://bz.apache.org/bugzilla/show_bug.cgi?id=70049
Robert Rodewald <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|INVALID |--- Status|RESOLVED |REOPENED --- Comment #4 from Robert Rodewald <[email protected]> --- I investigated the matter a little further and looked into the source code of MyBatis. The explanation is in this comment form DefaultVFS class: /* * Some servlet containers allow reading from directory resources like a text file, listing the child * resources one per line. However, there is no way to differentiate between directory and file resources * just by reading them. To work around that, as each line is read, try to look it up via the class loader * as a child of the current resource. If any line fails then we assume the current resource is not a * directory. */ So MyBatis discovers the directory content by reading from a file: URL which points to a directory. This works (at least on my system) and gives the directory content line by line. In the next step MyBatis reads from each directory entry it found (which is the class file Absence.class in my case), appends it's first line to the path and tries to get this "resource" from the class loader. This is where the new validation from https://github.com/apache/tomcat/commit/3ac1c7b0a8c7d2fec42bc050843b7f68fc2c9098 yields null and then subsequently an IllegalArgumentException. MyBatis only handles InvalidPathException and FileSystemException but not IllegalArgumentException and this breaks the discovery mechanism. Perhaps throwing InvalidPathException instead of IllegalArgumentException in StandardRoot.java:259 or just returning null would be a better (more backwards compatible) option? Otherwise, I can open a bug report with MyBatis and/or work around the discovery mechanism of MyBatis entirely. -- 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]
