Note that this is a fundamental problem with JAWR, not just a Grails problem. I discovered it via the Grails plugin.
I have the following JAWR configuration in my app's Config.groovy.
names = "pluginlib"
Because the default bundle mapping defined by ResourceBundleMessagesGenerator.GRAILS_APP_I18N_RESOURCE_PREFIX is "grails-app.i18n.", LocaleUtils currently has to replace all instances of '.' with '/'. Completely ignoring the fact that this isn't platform-independent (windows uses \ for path separation), this strictly forbids the use of any path with an actual '.' as part of the name.