2014-11-24 24 views
5

Próbuję użyć Proguard do zaciemniania mojej aplikacji Java 8.proguard-maven-plugin java 8

Proguard obsługuje Javy 8 od wersji 5.0

z jakiegoś powodu program-maven-plugin ignoruje moją konfigurację używać PROGUARD wersji 5.1 i 4.3 stosuje niezgodne z Java 8.

Moja konfiguracja jest

<plugin> 
     <groupId>com.pyx4me</groupId> 
     <artifactId>proguard-maven-plugin</artifactId> 
    <version>2.0.4</version> 
     <executions> 
      <execution> 
       <phase>package</phase> 
       <goals> 
        <goal>proguard</goal> 
       </goals> 
      </execution> 
     </executions> 
     <configuration> 
    <proguardVersion>5.1</proguardVersion> 
    <obfuscate>true</obfuscate> 
      <options> 
       <option>-allowaccessmodification</option> 
       <option>-keep class mypackage.Testt</option> 
      </options> 
      <libs> 
       <lib>${java.home}/lib/rt.jar</lib> 
     <lib>${java.home}/lib/javafx-mx.jar</lib> 
      </libs> 
     </configuration> 
     <dependencies> 
      <dependency> 
      <groupId>net.sf.proguard</groupId> 
      <artifactId>proguard-base</artifactId> 
      <version>5.1</version> 
      <scope>runtime</scope> 
      </dependency> 
     </dependencies> 
    </plugin> 

Jakaś wskazówka?

TKS,

Odpowiedz

6

Odpowiadając na moje własne pytanie ... Zdarza się, że wersja 5.1 Proguard nie jest jeszcze dostępna na repozytorium Maven. Konieczne jest ręcznie pobrać i uruchomić:

mvn install:install-file -Dfile=./proguard.jar -DgroupId=net.sf.proguard -DartifactId=proguard -Dversion=5.1 -Dpackaging=jar 

Ponadto poprawna konfiguracja Proguard jest:

<dependency> 
      <groupId>net.sf.proguard</groupId> 
      <artifactId>proguard</artifactId> 
      <version>5.1</version> 
</dependency> 
+3

Pobieranie ręczne nie jest konieczne. Powinieneś przeprowadzić migrację z przestarzałego artefaktu 'proguard' do' proguard-base'. Zobacz [Baza Proguard na stronie mvnrepository.com] (https://mvnrepository.com/artifact/net.sf.proguard/proguard-base) –