Я использую Proguard для обфускации библиотеки, в которой есть несколько полей @Autowired. Обфускатор переименовывает эти поля класса (потому что они являются частными / внутренними для класса), и, таким образом, мой компонент не может создать экземпляр.
Предварительно запутанное:
@Service
public class LicenseServiceImpl implements LicenseService {
@Autowired(required = false)
LicenseSessionStore licenseSessionStore;
@Autowired(required = false)
LicenseStore licenseStore;
...
}
Пост-обфускация:
@Service
public class LicenseServiceImpl implements LicenseService {
@Autowired(required=false)
LicenseSessionStore a;
@Autowired(required=false)
LicenseStore b;
...
}
Теперь, вероятно, много способов сделать эти конкретные поля не связанными автоматически, но то, что я надеялся найти, было способ сказать Proguard не запутывать какие-либо внутренние поля, аннотированные важными Spring-isms (@Autowired и т. д.).
У кого-нибудь есть идея о том, как я могу это сделать в общих чертах?
Grant