【发布时间】:2014-01-22 06:38:17
【问题描述】:
我只想混淆简单的 maven java 应用程序。我使用 maven-proguard-plugin。必须对所有类 main/java 进行混淆处理。我尝试了不同的配置,但没有运气。最后是:
<build>
<plugins>
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<version>2.0.6</version>
<dependencies>
<dependency>
<groupId>net.sf.proguard</groupId>
<artifactId>proguard-base</artifactId>
<version>4.10</version>
<scope>runtime</scope>
</dependency>
</dependencies>
<executions>
<execution>
<phase>package</phase>
<goals><goal>proguard</goal></goals>
</execution>
</executions>
<configuration>
<proguardVersion>4.10</proguardVersion>
<options>
<option>-keep class *{*;}</option>
</options>
<libs>
<lib>${java.home}/lib/rt.jar</lib>
</libs>
</configuration>
</plugin>
</plugins>
</build>
result - 所有类都存在于目标 jar 中,但没有被混淆,jad 可以很好地反编译它。如何正确混淆? 无法理解 - 只是混淆所有来源都是非常罕见的任务?所有其他插件都像魅力一样开箱即用。为什么我必须在这个中输入一些奇怪的选项?我已经花了一天时间。我想要约定优于配置! :)
【问题讨论】:
标签: maven obfuscation proguard