8
votes

Utiliser PROGUARD AVEC UNE BIBLIOTHÈQUE A UN BEAN @SERVICE QUI DEVRAIT AUTOWIRE

J'ai une bibliothèque commune.license que je suis obscurcice avec PROGUARD:

@Bean(name = "licenseService", autowire = Autowire.BY_NAME)
public LicenseService getLicenseService() {
    if (licenseService == null) {
        licenseService = new LicenseServiceImpl();
    }
    return licenseService;
}


0 commentaires

3 Réponses :


6
votes

Un grand merci à Eric Lafortune d'avoir aidé à me diriger dans la bonne direction ici:

http://sourceforge.net/projects/proguard/forums/forum/182456/topic/2547498

Voici l'addition de fichier POM de travail spécifiant le plug-in et les options requises: < / p> xxx

note! Vous devez utiliser PROGUARD 4.4, la dernière version de PROGUARD-Maven-Plugin (2.0.4) utilise 4.3 Vous devez donc modifier: xxx

pour avoir la dépendance 4.4 ( comme ceci): xxx


1 commentaires

Donc, la solution n'était pas obscurcissante des classes annotées en forme d'automne: / Je ne peux pas vraiment voir l'avantage d'Obfuscation, surtout si j'utilise de manière approfondie le printemps CIO (pour les services, DAO, etc.)



1
votes

Voici une autre façon de passer à la version 4.4 de PROGUARD (qui est probablement un peu mieux):

<configuration>
  <proguardVersion>4.4</proguardVersion>
  <obfuscate>true</obfuscate>
  <options>
  ... 
  </options>    
  <libs>
    <lib>${java.home}/lib/rt.jar</lib>
    <lib>${java.home}/lib/jsse.jar</lib>
  </libs>
  <addMavenDescriptor>false</addMavenDescriptor>
</configuration>
<dependencies>
  <dependency>
    <groupId>net.sf.proguard</groupId>
    <artifactId>proguard</artifactId>
    <version>4.4</version>
    <scope>runtime</scope>
    <optional>true</optional>
  </dependency>
</dependencies>


0 commentaires

0
votes

J'avais le même problème et la directive DirectriceDirectories a permis de résoudre le problème pour moi.


0 commentaires