At least in recent versions of Java, specifying an incorrect commandline option causes a resource exception instead of just printing the error / usage message. This is caused by a call to ResourceBundle.getBundle(PROPERTIES_LOCATION) inside MessageRetriever. Since MessageRetriever is loaded by the boot classloader, it can't find PROPERTIES_LOCATION. This class seems to be duplicated in XhtmlDoclet so I assume it wasn't present in early versions of Java.
The solution is to make sure the call to getBundle() is made from the correct classloader. Fortunately MessageRetriever allows the caller to pass in a resource bundle instead of a resource location. The Config() constructor even has an instance readily available, so I've just swapped a couple of lines of code around and attached the patch. It fixes the problem for me, but I haven't tested it with any version of Java other than 1.6. I will do so if I get a chance.
View and moderate all "bugs Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Bugs"
Patch