Я использую Proguard для обфускации библиотеки с несколькими полями @Autowired. Обфускатор переименовывает эти поля классов (потому что они являются частными/внутренними для класса), и поэтому мой компонент не создает экземпляр.Использование Proguard с библиотекой, использующей Spring @Autowired по имени
Pre-затемненный:
@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;
...
}
Теперь, вероятно, много способов, чтобы сделать эти конкретные поля не получить autowired но то, что я надеялся найти было способ сообщить Proguard не обфускать любые внутренние поля, которые аннотируются важными Spring-isms (@Autowired и т. д.).
У кого-нибудь есть идея, как я могу это сделать в целом?
Грант