I used proguard to obfuscate a spring boot application using this config: medium dot com @ijayakantha/obfuscate-spring-boot-2-applications-with-proguard-a8a76586b11f
The obfuscated application starts up but I get 404 error if I try to make any request. the 404 means the controllers and endpoints are not getting wired up. Here is my checklist:
-
I checked all classes have spring boot annotations. I am using -keepattributes Annotation # ProGuard Manual: Examples | Guardsquare in the config
-
I also checked all directories are preserved. I am using -keepdirectories in the config
-
All getters and setters are preserved. I am using -keepclassmembers class * {
*** get*();
void set*(***);
}
in the config. -
I am not running proguard on spring libraries. Just my code.
My class names are obfuscated. This should not matter as the wiring is done by reflection on annotations. How can I debug this? What else should I check? thanks.