Proguard+Maven混淆java web项目
这里用到的是常用配置,更多详细配置方法和参数信息见官网:https://www.guardsquare.com/en/products/proguard/manual/usage#keepoptions 1. proguard常用关键字 dontshrink 不压缩 dontoptimize 不优化 keep 保留类和类中的成员,防止被混淆或移除 keepclassmembers 只保留类中的成员,防止被混淆或移除 dontwarn 一个和keep可以说是形影不离,尤其是处理引入的library时,不显示警告信息 2. proguard通配符 *匹配任意长度字符,不包含包名分隔符(.) ** 匹配任意长度字符,包含包名分隔符(.) *** 匹配任意参数类型 3. 哪些不应该混淆 a. 使用了枚举要保证枚举不被混淆 b. 对第三方库中的类不进行混淆 c. 运用了反射的类也不进行混淆 d. 交给Spring管理的类 e. JNI中调用的类 f. Test类 4. 混淆模板 a. 在需要被混淆工程的pom文件中加入以下配置,具体配置的参数意义已注释。 ``` <plugins> <!-- ProGuard混淆插件--> <plugin> <groupId>com.github.wvengen</groupId> <artifactId>proguard-maven-plugin<