Cho*_*ith 7 proguard maven-3 java-8
我试图使用Proguard来混淆我的Java 8应用程序.
Proguard从5.0版开始支持Java 8
由于某种原因,program-maven-plugin忽略了我的配置以使用Proguard 5.1版并使用4.3,与Java 8不兼容.
我的配置是
<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>
Run Code Online (Sandbox Code Playgroud)
任何线索?
韩国社交协会,
回答我自己的问题......碰巧Proguard 5.1版尚未在Maven资源库中提供.有必要手动下载并运行:
mvn install:install-file -Dfile=./proguard.jar -DgroupId=net.sf.proguard -DartifactId=proguard -Dversion=5.1 -Dpackaging=jar
Run Code Online (Sandbox Code Playgroud)
此外,正确的Proguard配置是:
<dependency>
<groupId>net.sf.proguard</groupId>
<artifactId>proguard</artifactId>
<version>5.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)