【发布时间】:2012-06-11 08:31:51
【问题描述】:
我正在尝试让 ProGuard 成为我们 Maven 构建过程的一部分。问题是官方的Maven插件使用的是ProGuard 4.3,不支持Java 7。有什么简单的方法可以让插件改用Proguard 4.8吗?
我尝试为插件指定依赖项,但 ProGuard 似乎有一个新的 Maven 模块结构(proguard-base、proguard-parent 等),因此插件不能使用任何 >4.4 版本。这是我当前的 pom 的外观:
<plugin>
<groupId>com.pyx4me</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>proguard</goal>
</goals>
</execution>
</executions>
<configuration>
<proguardVersion>4.8</proguardVersion>
<obfuscate>true</obfuscate>
<options>
<option>-allowaccessmodification</option>
<option>-keep public class com.degoo.ui.ClientBackendStarter { public *; public static *; }</option>
</options>
<injar>${project.build.finalName}.jar</injar>
<outjar>${project.build.finalName}-small.jar</outjar>
<outputDirectory>${project.build.directory}</outputDirectory>
<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.8</version>
<scope>runtime</scope>
</dependency>
</dependencies>
</plugin>
有什么建议吗?
【问题讨论】:
-
ProGuard 本身(及其 jars)的结构没有改变,所以从这方面来说,升级应该是微不足道的。不过,我不了解 Maven 或其插件。