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

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. </plugin>
  1. 2.在pom.xml平级目录下添加proguard.conf文件
  1. # ----------------------------------
  2. #  通过指定数量的优化能执行
  3. #  -optimizationpasses n
  4. # ----------------------------------
  5. -optimizationpasses 3
  6. # ----------------------------------
  7. #   混淆时不会产生形形色色的类名
  8. #   -dontusemixedcaseclassnames
  9. # ----------------------------------
  10. -dontusemixedcaseclassnames
  11. # ----------------------------------
  12. #      指定不去忽略非公共的库类
  13. #  -dontskipnonpubliclibraryclasses
  14. # ----------------------------------
  15. #-dontskipnonpubliclibraryclasses
  16. # ----------------------------------
  17. #       不预校验
  18. #    -dontpreverify
  19. # ----------------------------------
  20. # -dontpreverify
  21. # ----------------------------------
  22. #      输出生成信息
  23. #       -verbose
  24. # ----------------------------------
  25. -verbose
  26. #混淆时应用侵入式重载
  27. -overloadaggressively
  28. #优化时允许访问并修改有修饰符的类和类的成员
  29. -allowaccessmodification
  30. #确定统一的混淆类的成员名称来增加混淆
  31. -useuniqueclassmembernames
  32. #这里添加你不需要混淆的类
  33. -keep  class com.zsoftware.common.cache.** {*;}
  34. -keep  class com.zsoftware.common.constant.** {*;}
  35. -keep  class com.zsoftware.common.dwr.** {*;}
  36. -keep  class com.zsoftware.common.servelt.** {*;}
  37. -keep  class com.zsoftware.common.util.** {*;}
  38. -keep  class com.zsoftware.Component.** {*;}
  39. -keep  class com.zsoftware.interfacepkg.** {*;}
  40. -keep  class com.zsoftware.model.** {*;}
  41. -keep  class com.zsoftware.view.** {*;}
  42. -keep  class com.zsoftware.webResource.** {*;}
  43. -keep public class * extends  javax.servlet.Servlet
  44. -keepdirectories  **
  45. -keepattributes **
  46. #-keepnames class * implements java.io.Serializable
  47. # ---------保护所有实体中的字段名称----------
  48. -keepclassmembers class * implements java.io.Serializable {
  49. <fields>;
  50. }
  51. # --------- 保护类中的所有方法名 ------------
  52. -keepclassmembers class * {
  53. public <methods>;
  54. }

maven中添加proguard来混淆代码的更多相关文章

  1. 如何在maven中添加jar包

    Maven 中央仓库地址: 1. http://www.sonatype.org/nexus/ 2. http://mvnrepository.com/ (本人推荐仓库) 3. http://repo ...

  2. 微信公众平台中添加qq在线聊天代码

    微信公众平台是个不错的媒体,可以和你的小伙伴们即时交流,但你的小伙伴们是用手机上的微信,打字自然就慢了:有人说用微信网页版,那个也不习惯,再说也不一定所有人都知道网页版微信.(2014.01.22更新 ...

  3. maven中添加json-lib的jar包

    在maven配置文件pom.xml中添加如下配置信息: <dependency> <groupId>net.sf.json-lib</groupId> <ar ...

  4. 如何在maven中添加本地jar包

    mvn install:install-file -DgroupId=mytest-DartifactId=test-Dversion=1.1 -Dpackaging=jar -Dfile=d:\te ...

  5. maven中添加jetty运行插件

            maven项目,用jetty插件运行,对热部署的支持比较好.maven的pom文件加入下面代码 <plugin> <groupId>org.mortbay.je ...

  6. 向项目中添加dtd文件实现代码提示

    我们在编辑代码的过程中,有代码提示的编辑工具总是受到青睐. 本文将讲解怎么在eclipse中加入dtd文件实现代码提示.myeclipse同理 选择window,选择perferences,然后拉到下 ...

  7. maven中添加memcached.jar配置方法

    一.java memcached client的jar包下载地址:https://github.com/gwhalin/Memcached-Java-Client/downloads 二.cd jav ...

  8. Maven中添加镜像

    Maven库在天朝的下载速度实在是感人,所以添加镜像之后速度会提升很多. 在maven的settings.xml 文件里配置mirrors的子节点,添加如下mirror <mirror> ...

  9. 2016.7.5 如何在maven中添加所需依赖(只知道jar包的部分名字的情况)

    (1)进入官网仓库 http://mvnrepository.com/ (2)输入需要的jar包名 比如这里的jota-time (3)寻找需要的版本,并选取需要的版本 (4)复制需要的maven依赖 ...

随机推荐

  1. 项目检出JRE问题(Unbound classpath container: 'JRE System Library [JavaSE-1.7]' in project 'idweb')

    分类: java 技术2014-07-31 16:51 9864人阅读 评论(13) 收藏 举报 项目从SVN检出到工作空间后报了很多错误,其中很明显就是一些jar的问题,没有相关的jar或版本问题, ...

  2. 自己动手用maven构建基于SSI的java EE应用

    上篇跟大家聊了聊maven的简单使用,之前也写了一篇搭建基于SSI(struts2,spring,ibatis)的javaEE开发环境的文章,但是那篇只是给初学者搭建一个简单的SSI应用的框架,其实我 ...

  3. MarkDown/reST 文档发布流水线

    相信很多朋友都在使用Markdown或者restructuredText格式来编写一些技术文档,也会把这些文档放在github上分享给社区.GitHub提供了很好的Markdown格式解析支持,但是这 ...

  4. java字节码指令集

    字节码指令集 Java虚拟机的指令由一个字节长度的.代表着某种特定操作含义的操作码(Opcode)以及跟随其后的零至多个代表此操作所需参数的操作数(Operands)所构成. 对于大部分为与数据类型相 ...

  5. Oracle / PLSQL函数 - NUMTODSINTERVAL和NUMTOYMINTERVAL

    最近在学习数据库方面的知识,做个标记. 这里有英文解释,建议多看看英文文档: https://www.techonthenet.com/oracle/functions/ 下面开始记录一下,自己在Or ...

  6. Python高手之路【十】python基础之反射

    反射说简单点 --> 就是利用字符串的形式去对象(模块)中操作(寻找/检查/删除/设置)成员. 需求:由用户输入一个模块名,用户输入什么模块名,文件中就导入什么模块: 1:文件都在同一目录下的导 ...

  7. Access一些常用的SQL语句

    您可以将 Microsoft Office Access 2013 用作创建.修改数据库以及处理数据的工具,还可将 Office Access 2013 用作服务器数据库管理系统(如 Microsof ...

  8. angular1.x 脏检测

    写在前面 双向绑定是angular的大亮点,然后支撑它的就是脏检测.一直对脏检测都有一些理解,却没有比较系统的概念. 以下是我阅读网上博文以及angular高级程序设计的理解与总结. 接收指导与批评. ...

  9. Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if expl

    检查你的用户名和密码是否正确 ,以及位置是否正确:

  10. 【转】Hive执行计划

    执行语句 hive> explain select s.id, s.name from student s left outer join student_tmp st on s.name = ...