ApplicationClassloader uses a cache for negative and postiv lookup of packages in isPackage method.
On windows systems file lookup is case insensitive. For that rease #786 introduced a canonical filename review to check case sensitive.
Take a look for the play.libs.ws package, you can put a conditional break point here.

you will then see a call to Play.classloader.getResource with a play/libs/ws.class argument

which is not resolved by Play1's java path virtualfile system loop (i added the boolean b to make that clear). The java classloader getResource will then find case insensitive the play.lib.WS.class (returning lower case) and hence the package cache gets a negative lookup for play.libs.ws.


The fix is easy. If we lookup the possible call hierachies the fix from #786 needs to moved up to getResource.
This issue can only be tested on systems with case insensitive file systems enabled.