Ich verwende Proguard, um eine Bibliothek zu verschleiern, die mehrere @Autowired-Felder enthält. Der Obfuscator benennt diese Klassenfelder um (weil sie privat/intern für die Klasse sind) und daher kann meine Bean nicht instanziiert werden.Verwenden von Proguard mit einer Bibliothek, die Spring @Autowired nach Name verwendet
Pre-verschleierten:
@Service
public class LicenseServiceImpl implements LicenseService {
@Autowired(required = false)
LicenseSessionStore licenseSessionStore;
@Autowired(required = false)
LicenseStore licenseStore;
...
}
Post-Verschleierung:
@Service
public class LicenseServiceImpl implements LicenseService {
@Autowired(required=false)
LicenseSessionStore a;
@Autowired(required=false)
LicenseStore b;
...
}
Nun gibt es wahrscheinlich eine Menge Möglichkeiten, diese bestimmten Bereichen nicht erhalten autowired zu machen, aber was ich hatte gehofft, war zu finden eine Möglichkeit, Proguard zu sagen, keine internen Felder zu verschleiern, die mit wichtigen Spring-Ismen versehen sind (@Autowired, etc.).
Wer hat eine Idee, wie ich das generisch machen kann?
Grant-