我们已经使用Spring Boot实现了一个Web应用程序。效果也不错。
现在,我想对应用程序进行模糊处理。我读了一些博客,并且对此有所了解,然后尝试了。
我在POM文件中添加了以下代码。它编译正常。但是当我生成战争文件时。战争文件不会混淆(类文件的名称与原始名称相同)。
<plugin>
<groupId>com.pyx4me</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<version>2.0.4</version>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>proguard</goal>
</goals>
</execution>
</executions>
<configuration>
<obfuscate>true</obfuscate>
<includeDependency>false</includeDependency>
<injar>${project.artifactId}-v${project.version}.war</injar>
<outjar>${project.artifactId}-v${project.version}-obf.war</outjar>
<outputDirectory>${project.build.directory}</outputDirectory>
<maxMemory>256m</maxMemory>
<libs>
<!-- Java Runtime -->
<lib>${java.home}/../Classes/classes.jar</lib>
<lib>${java.home}/../Classes/jce.jar</lib>
</libs>
<options>
<option>-allowaccessmodification</option>
<option>-dontskipnonpubliclibraryclasses</option>
<option>-dontskipnonpubliclibraryclassmembers</option>
</options>
</configuration>
</plugin>
请帮助我混淆战争 以及如何检查生成的文件是否被混淆? 任何帮助表示赞赏。谢谢。
答案 0 :(得分:0)
代替混淆WAR,您应该混淆WAR WEB-INF/lib
目录中的库JAR。 WAR需要一个已知的类名来进行声明式配置,例如web.xml
中的过滤器和Servlet定义。