Obfuscating Struts2 Web Application
In fact, after the sources have been confused, ProGuard generates a log file that can be used to replace the Greek class names in the XML file. Otherwise, you can also exclude classes that extend a specific class or interface in proGuard. This way your racks actions won't be called (which is a lamer obfuscation strategy), but the rest of your application will.
a source to share
In general, it is a bad idea to obfuscate names in an application running on top of a dynamic framework that relies on reflection, being OSGi or a web container. You never know what objects the framework will want to load or query by name, and whether obfuscation can break numerous third-party components ...
Learn more about this and three alternatives to obfuscation in Protect Your Java Code - Through Obfuscators and Beyond
a source to share