【发布时间】:2018-11-02 10:39:46
【问题描述】:
有没有人使用 proguard 来混淆 .war 文件并成功了?如果是,那么请告诉我混淆战争的确切步骤。 我没有在网上找到任何符合我要求的理想文档。 我已经在 spring boot 和 jsp 中创建了我的 web 应用程序。
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>proguard</goal>
</goals>
</execution>
</executions>
<configuration>
<proguardVersion>5.3.3</proguardVersion>
<injar>${project.build.finalName}.jar</injar>
<outjar>${project.build.finalName}.jar</outjar>
<obfuscate>true</obfuscate>
<options>
<option>-dontshrink</option>
<option>-dontoptimize</option>
<option>-adaptclassstrings</option>
<option>-keepattributes
Exceptions,InnerClasses,Signature,Deprecated,
SourceFile,LineNumberTable,*Annotation*,EnclosingMethod</option>
<option>-keepnames interface **</option>
<option>-keepparameternames</option>
<option>-keep class
!com.slm.proguard.example.spring.boot.domain.**
{ *; }</option>
<option>-keep class com.slm.proguard.example.spring.boot.service {
*; }</option>
<option>-keep interface * extends * { *; }</option>
<option>-keepclassmembers class * {
@org.springframework.beans.factory.annotation.Autowired *;
@org.springframework.beans.factory.annotation.Value *;
}
</option>
</options>
<libs>
Include main JAVA library required.
<lib>${java.home}/lib/rt.jar</lib>
Include crypto JAVA library if necessary.
<lib>${java.home}/lib/jce.jar</lib>
</libs>
</configuration>
<dependencies>
<dependency>
<groupId>net.sf.proguard</groupId>
<artifactId>proguard-base</artifactId>
<version>5.3.3</version>
</dependency>
</dependencies>
</plugin>
【问题讨论】:
-
是的。你的确切问题是什么?我使用一个 maven 插件
com.github.wvengen proguard-maven-plugin -
@SimonMartinelli 我想使用 proguard 混淆 Web 应用程序的 .war 文件
-
@SimonMartinelli 编辑了 pom.xml 中使用的 proguard 的问题添加插件
-
我不明白你的问题
-
到目前为止,我已经使用 pom.xml 文件中的上述配置创建了一个 .war 文件。现在在 proguard 的输入/输出选项中如何添加包含 .class 文件的文件夹路径。如果我尝试使用 .war 文件执行此操作,则不允许我访问包含 .class 文件的文件夹。我指的是这份文件:bratonfire.blogspot.com/2012/01/…
标签: proguard