The Shiro project is split into a number of "modules" which provide OSGi metadata, and will likely provide JPMS Module descriptors at some point in the future. Both of these module platforms play very badly with "split packages" specifically packages that are present with different content across more than one module.
JPMS completely forbids packages from being present in more than one module. OSGi is somewhat more permissive than JPMS, in that split packages are only problematic if they are "exported" and have different content, however in Shiro's case there are no internal packages (all packages are exported).
Shiro contains several such packages, for example `org.apache.shiro` and `org.apache.shiro.util` are split with different content across the shiro-core and shiro-lang modules. This must be fixed, with each package (in its entirety) being hosted in a single module if Shiro is going to be usable in a modular Java world.