• maven中添加proguard来混淆代码


    只要下回插件并添加相应的配置文件即可。本文仅是做下相关记录

    1.修改pom.xml添加插件

      1. <plugin>  
      2.             <groupId>com.pyx4me</groupId>  
      3.             <artifactId>proguard-maven-plugin</artifactId>  
      4.             <executions>  
      5.                 <execution>  
      6.                     <phase>package</phase>  
      7.                     <goals>  
      8.                         <goal>proguard</goal>  
      9.                     </goals>  
      10.                 </execution>  
      11.             </executions>  
      12.             <configuration>  
      13.                 <obfuscate>true</obfuscate>  
      14.                 <proguardInclude>${basedir}/proguard.conf</proguardInclude>  
      15.                 <!-- 添加依赖,这里你可以按你的需要修改 -->  
      16.                 <libs>                           
      17.                     <lib>${java.home}/lib/rt.jar</lib>  
      18.                     <lib>lib/fcexporter_jdk1.5.jar</lib>  
      19.                     <lib>lib/fcexporthandler.jar</lib>    
      20.                     <lib>lib/jsp-api.jar</lib>  
      21.                     <lib>lib/servlet-api.jar</lib>  
      22.                 </libs>  
      23.                 <addMavenDescriptor>false</addMavenDescriptor>  
      24.             </configuration>  
      25.             <dependencies>   
      26.                 <!-- 使用4.8版本来混淆 -->  
      27.                 <dependency>  
      28.                     <groupId>net.sf.proguard</groupId>  
      29.                     <artifactId>proguard</artifactId>  
      30.                     <version>4.8</version>  
      31.                     <scope>runtime</scope>  
      32.                 </dependency>  
      33.             </dependencies>  
      34.               
      35.         </plugin>  
    1. 2.在pom.xml平级目录下添加proguard.conf文件
    1. # ----------------------------------  
    2. #  通过指定数量的优化能执行  
    3. #  -optimizationpasses n  
    4. # ----------------------------------  
    5. -optimizationpasses 3  
    6.   
    7. # ----------------------------------  
    8. #   混淆时不会产生形形色色的类名   
    9. #   -dontusemixedcaseclassnames  
    10. # ----------------------------------  
    11. -dontusemixedcaseclassnames  
    12. # ----------------------------------  
    13. #      指定不去忽略非公共的库类  
    14. #  -dontskipnonpubliclibraryclasses  
    15. # ----------------------------------  
    16. #-dontskipnonpubliclibraryclasses  
    17.   
    18. # ----------------------------------  
    19. #       不预校验  
    20. #    -dontpreverify  
    21. # ----------------------------------  
    22. # -dontpreverify  
    23.   
    24. # ----------------------------------  
    25. #      输出生成信息  
    26. #       -verbose  
    27. # ----------------------------------  
    28. -verbose  
    29.   
    30. #混淆时应用侵入式重载   
    31. -overloadaggressively   
    32.    
    33. #优化时允许访问并修改有修饰符的类和类的成员   
    34. -allowaccessmodification  
    35. #确定统一的混淆类的成员名称来增加混淆   
    36. -useuniqueclassmembernames  
    37.   
    38.   
    39.   
    40. #这里添加你不需要混淆的类  
    41.   
    42. -keep  class com.zsoftware.common.cache.** {*;}   
    43. -keep  class com.zsoftware.common.constant.** {*;}   
    44. -keep  class com.zsoftware.common.dwr.** {*;}   
    45. -keep  class com.zsoftware.common.servelt.** {*;}   
    46. -keep  class com.zsoftware.common.util.** {*;}   
    47. -keep  class com.zsoftware.Component.** {*;}   
    48. -keep  class com.zsoftware.interfacepkg.** {*;}   
    49. -keep  class com.zsoftware.model.** {*;}   
    50. -keep  class com.zsoftware.view.** {*;}   
    51. -keep  class com.zsoftware.webResource.** {*;}   
    52.   
    53. -keep public class * extends  javax.servlet.Servlet  
    54.    
    55. -keepdirectories  **  
    56. -keepattributes **  
    57.    
    58.   
    59. #-keepnames class * implements java.io.Serializable  
    60. # ---------保护所有实体中的字段名称----------  
    61. -keepclassmembers class * implements java.io.Serializable {  
    62.     <fields>;  
    63. }  
    64.   
    65. # --------- 保护类中的所有方法名 ------------  
    66. -keepclassmembers class * {  
    67.     public <methods>;  
  • 相关阅读:
    获取一组radio按钮选中的值Value
    三相异步电动机过载保护及报警PLC控制
    2014年天津市第一批科技计划项目
    USB HID报告及报告描述符简介
    Log Explorer使用说明
    SQL日志文件的作用
    STM32 USB数据接收与数据发送程序流程分析
    多少人没熬过那三厘米!
    构建区域综合交通枢纽 京津冀将形成“一张图”
    Altium Designer下Gerber转PCB的方法(转)
  • 原文地址:https://www.cnblogs.com/energy1010/p/6185138.html
Copyright © 2020-2023  润新知