Obfuscate Java Code using Proguard

Hi All,

I have been trying to obfuscate my war file using Proguard. However the output file generated has all my external library jars but no actual code. So when i deploy the obfuscated war file in apache the application class fails to load.

Has anyone been able to obfuscate their vaadin application successfully using Proguard?

Thanks in advance


I have not tried obfuscation of Vaadin code, but something to note: you must configure the obfuscator to exclude certain things (mostly class/method name changes for some classes). There is no list of what needs to be excluded when using what classes or features, but a few cases that I can think of quickly:

ApplicationServlet loads the application by name using reflection APIs (it is possible to override the method that creates the application instance to avoid the use of reflection). Also several data API classes and methods use reflection, e.g. BeanItem uses accessor names from classes, and several locations depend on the existence of String or no argument constructors for certain classes.

Thanks for your response Henri.

I finally managed to get this working by creating a jar of my classes and obfuscating my war file using ANT.