Использование Proguard с библиотекой, использующей Spring @Autowired по имени

Я использую 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

7
задан Grant Cermak 9 December 2010 в 15:55
поделиться