Maven Proguard处理其他应用程序将依赖的库jar

时间:2011-04-26 21:57:20

标签: maven-plugin maven-3 proguard

以下是我的构建插件节的内容:

<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>
        <options>
            <option>-dontshrink</option>
            <option>-dontnote</option>
            <option>-allowaccessmodification</option>
            <option>-dontskipnonpubliclibraryclasses</option>
            <option>-dontskipnonpubliclibraryclassmembers</option>
        </options>
        <libs>
            <lib>${java.home}/lib/rt.jar</lib>
            <lib>${java.home}/lib/jsse.jar</lib>
        </libs>
    </configuration>
</plugin>

以下是执行mvn clean package

时得到的结果

[proguard] Error: You have to specify '-keep' options for the shrinking step.

如何为我想要混淆的库指定保留选项?

1 个答案:

答案 0 :(得分:5)

您必须使用-keep选项定义应用程序的入口点,因为您无法对其进行模糊处理。例如,如果您的主类被混淆,它将被重命名,您将无法启动它。对于API的公共接口也是如此。

相关问题