2014-11-24 7 views
5

Ich versuche Proguard zu verwenden, um meine Java 8 App zu verschleiern.Proguard-Maven-Plugin Java 8

Proguard unterstützt Java 8 seit Version 5.0

Aus irgendeinem Grund das Programm-Maven-Plugin meine Konfiguration ignoriert Proguard Version 5.1 und verwendet 4.3, unvereinbar mit Java 8.

Meine Konfiguration ist

zu verwenden
<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> 

Irgendwelche Anhaltspunkte?

TKS,

Antwort

6

meine eigene Frage zu beantworten ... Es kommt vor, dass Proguard Version 5.1 auf Maven-Repositories noch nicht verfügbar ist. Es ist notwendig, ihn manuell herunterladen und ausführen:

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

Darüber hinaus ist die richtige Proguard Konfiguration ist:

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

Manueller Download ist nicht erforderlich. Sie sollten vom veralteten Artefakt 'proguard' nach' proguard-base' migrieren. Siehe [Proguard Base unter mvnrepository.com] (https://mvnrepository.com/artifact/net.sf.proguard/proguard-base) –