maven中添加proguard来混淆代码
只要下回插件并添加相应的配置文件即可。本文仅是做下相关记录
1.修改pom.xml添加插件
- <plugin>
- <groupId>com.pyx4me</groupId>
- <artifactId>proguard-maven-plugin</artifactId>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>proguard</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <obfuscate>true</obfuscate>
- <proguardInclude>${basedir}/proguard.conf</proguardInclude>
- <!-- 添加依赖,这里你可以按你的需要修改 -->
- <libs>
- <lib>${java.home}/lib/rt.jar</lib>
- <lib>lib/fcexporter_jdk1.5.jar</lib>
- <lib>lib/fcexporthandler.jar</lib>
- <lib>lib/jsp-api.jar</lib>
- <lib>lib/servlet-api.jar</lib>
- </libs>
- <addMavenDescriptor>false</addMavenDescriptor>
- </configuration>
- <dependencies>
- <!-- 使用4.8版本来混淆 -->
- <dependency>
- <groupId>net.sf.proguard</groupId>
- <artifactId>proguard</artifactId>
- <version>4.8</version>
- <scope>runtime</scope>
- </dependency>
- </dependencies>
- </plugin>
- 2.在pom.xml平级目录下添加proguard.conf文件
- # ----------------------------------
- # 通过指定数量的优化能执行
- # -optimizationpasses n
- # ----------------------------------
- -optimizationpasses 3
- # ----------------------------------
- # 混淆时不会产生形形色色的类名
- # -dontusemixedcaseclassnames
- # ----------------------------------
- -dontusemixedcaseclassnames
- # ----------------------------------
- # 指定不去忽略非公共的库类
- # -dontskipnonpubliclibraryclasses
- # ----------------------------------
- #-dontskipnonpubliclibraryclasses
- # ----------------------------------
- # 不预校验
- # -dontpreverify
- # ----------------------------------
- # -dontpreverify
- # ----------------------------------
- # 输出生成信息
- # -verbose
- # ----------------------------------
- -verbose
- #混淆时应用侵入式重载
- -overloadaggressively
- #优化时允许访问并修改有修饰符的类和类的成员
- -allowaccessmodification
- #确定统一的混淆类的成员名称来增加混淆
- -useuniqueclassmembernames
- #这里添加你不需要混淆的类
- -keep class com.zsoftware.common.cache.** {*;}
- -keep class com.zsoftware.common.constant.** {*;}
- -keep class com.zsoftware.common.dwr.** {*;}
- -keep class com.zsoftware.common.servelt.** {*;}
- -keep class com.zsoftware.common.util.** {*;}
- -keep class com.zsoftware.Component.** {*;}
- -keep class com.zsoftware.interfacepkg.** {*;}
- -keep class com.zsoftware.model.** {*;}
- -keep class com.zsoftware.view.** {*;}
- -keep class com.zsoftware.webResource.** {*;}
- -keep public class * extends javax.servlet.Servlet
- -keepdirectories **
- -keepattributes **
- #-keepnames class * implements java.io.Serializable
- # ---------保护所有实体中的字段名称----------
- -keepclassmembers class * implements java.io.Serializable {
- <fields>;
- }
- # --------- 保护类中的所有方法名 ------------
- -keepclassmembers class * {
- public <methods>;
- }
maven中添加proguard来混淆代码的更多相关文章
- 如何在maven中添加jar包
Maven 中央仓库地址: 1. http://www.sonatype.org/nexus/ 2. http://mvnrepository.com/ (本人推荐仓库) 3. http://repo ...
- 微信公众平台中添加qq在线聊天代码
微信公众平台是个不错的媒体,可以和你的小伙伴们即时交流,但你的小伙伴们是用手机上的微信,打字自然就慢了:有人说用微信网页版,那个也不习惯,再说也不一定所有人都知道网页版微信.(2014.01.22更新 ...
- maven中添加json-lib的jar包
在maven配置文件pom.xml中添加如下配置信息: <dependency> <groupId>net.sf.json-lib</groupId> <ar ...
- 如何在maven中添加本地jar包
mvn install:install-file -DgroupId=mytest-DartifactId=test-Dversion=1.1 -Dpackaging=jar -Dfile=d:\te ...
- maven中添加jetty运行插件
maven项目,用jetty插件运行,对热部署的支持比较好.maven的pom文件加入下面代码 <plugin> <groupId>org.mortbay.je ...
- 向项目中添加dtd文件实现代码提示
我们在编辑代码的过程中,有代码提示的编辑工具总是受到青睐. 本文将讲解怎么在eclipse中加入dtd文件实现代码提示.myeclipse同理 选择window,选择perferences,然后拉到下 ...
- maven中添加memcached.jar配置方法
一.java memcached client的jar包下载地址:https://github.com/gwhalin/Memcached-Java-Client/downloads 二.cd jav ...
- Maven中添加镜像
Maven库在天朝的下载速度实在是感人,所以添加镜像之后速度会提升很多. 在maven的settings.xml 文件里配置mirrors的子节点,添加如下mirror <mirror> ...
- 2016.7.5 如何在maven中添加所需依赖(只知道jar包的部分名字的情况)
(1)进入官网仓库 http://mvnrepository.com/ (2)输入需要的jar包名 比如这里的jota-time (3)寻找需要的版本,并选取需要的版本 (4)复制需要的maven依赖 ...
随机推荐
- 初探原生js根据json数据动态创建table
初探原生js根据json数据动态创建table 小生以实习生的职位进入了一家非纯软件的公司做asp.net开发,大半个月下来发现公司里居然没有前端工程师,这令我很诧异,跟着公司做项目,发现前端后台没有 ...
- Castle Windsor 项目中快速使用
Castle Windsor 项目中快速使用 新建项目如下: 一个模型类,一个接口,一个实现方法.我的目的很明确就是在UI层通过Castle 调用数据访问层的方法. 添加项目引用 CastleDemo ...
- 新版C#编译器关于函数闭包
新版C#编译器关于函数闭包的一处更改 在Visual Basic.NET中,如果你写下类似下面的代码: Public Sub Test() For i = 0 To 100 Dim func = ...
- Java的23种设计模式
1.FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯 德基,只管向服务员说“来四个鸡翅”就行了.麦当劳和肯德基就是生产鸡 ...
- on IRC, how to use secure connection(SSL) and get a cloak/vhost to hide your IP
On stackoverflow I found this: Follow this tutorial below: This is from http://superuser.com/questio ...
- Spring.Net-创建对象
1:通过构造函数创建对象 在配置文件中,指明对象类型<object id="" type="类型全名,程序集名" /> 在代码中指定对象 ...
- [学习笔记] TensorFlow 入门之基本使用
整体介绍 使用 TensorFlow, 你必须明白 TensorFlow: 使用图 (graph) 来表示计算任务. 在被称之为 会话 (Session) 的上下文 (context) 中执行图. 使 ...
- j2ee面试宝典翻译(3) j2ee job interview companion
Q9:如何让表达“是一个”和“有一个”关系?或者请解释下“继承”和“组合”.组合和聚合之间有什么区别? A9:“是一个”的关系表示继承而“有一个”的关系是表示组合.继承和组合都允许你将子对象放入新类中 ...
- java实现商品实时录入
//代表各的主页面 package com.gui; import java.awt.*; import javax.swing.*; import java.awt.event.*; import ...
- 用curl自动登录HTTPS站点
前文http://blog.csdn.net/sheismylife/article/details/9237925 演示了如何手动的通过运行curl命令登录HTTPS站点,然后获取cookie, 再 ...