I spent some time looking into this today: SHIRO-632 <https://issues.apache.org/jira/browse/SHIRO-632>
Pull Request: https://github.com/apache/shiro/pull/75 In master (1.4+) we broke shiro-core up into a few modules. This was originally done as part of the 2.0 effort. This caused some package overlap between modules. Note: this is NOT an issue for Maven (after dependency resolution all of the classes end up on the classpath and will function like previous versions) However, this *IS* an issue for the Felix maven-bundle-plugin Long-term (2.0+) we can resolve this by moving classes to different packages (we will likely need to do this for Java 9's modules anyway). Short term, 1.4.0 went out with duplicate classes. Mostly because I didn't understand fully what the Felix maven-bundle-plugin was doing. My proposed solution basically keeps the existing module tree structure intact and includes them (think uberjar/fatjar) in shiro-core (just like previous versions) (it also adds an Enforcer rule which fails the build if duplicate classes are detected) Also long-term, we need to think about how we support the maven-bundle-plugin. I don't think we have a commiter on the team with a lot of OSGI knowledge, nor do we have any any OSGI container based ITs, so we are in need of someone to help maintain this going forward or we should drop support for it. That said, maybe this becomes a non-issue soon once we rename packages and add Java 9 module infos? Thoughts? -Brian
