IDEA JDK1.8 ProGuard 混淆Maven项目代码
直接复制到pom中即可使用
<build><plugins><plugin><groupId>com.github.wvengen</groupId><artifactId>proguard-maven-plugin</artifactId><!-- <version>2.0.14</version>--><version>2.1.1</version><executions><execution><!--混淆时刻,这里是打包的时候混淆--><phase>package</phase><goals><!--使用插件的什么功能,当然是混淆--><goal>proguard</goal></goals></execution></executions><configuration><proguardVersion>6.0.2</proguardVersion><obfuscate>true</obfuscate><!--是否将生成的PG文件安装部署--><attach>true</attach><!--是否混淆--><obfuscate>true</obfuscate><!--指定生成文件分类--><attachArtifactClassifier>pg</attachArtifactClassifier><options><!--JDK目标版本1.8--><option>-target 1.8</option><!--不做收缩(删除注释、未被引用代码)--><!--<option>-dontshrink</option>--><!--不做优化(变更代码实现逻辑)--><!--<option>-dontoptimize</option>--><!--不路过非公用类文件及成员--><option>-dontskipnonpubliclibraryclasses</option><option>-dontskipnonpubliclibraryclassmembers</option><!--优化时允许访问并修改有修饰符的类和类的成员--><option>-allowaccessmodification</option><!--确定统一的混淆类的成员名称来增加混淆,防止冲突--><option>-useuniqueclassmembernames</option><!--不混淆所有包名,Spring配置中有大量固定写法的包名--><option>-keeppackagenames</option><!--不混淆所有特殊的类--><option>-keepattributesExceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod</option><!--不混淆所有的set/get方法,毕竟项目中使用的部分第三方框架(例如Shiro)会用到大量的set/get映射--><option>-keepclassmembers public class *{void set*(***);*** get*();}</option><option>-keep public class * {public protected *;}</option><!--不显示警告信息,如果显示则会出现Error无法完成混淆!--><option>-dontwarn **</option></options><outjar>${project.build.finalName}-pg.jar</outjar><!--添加依赖,这里你可以按你的需要修改,这里测试只需要一个JRE的Runtime包就行了--><libs><lib>${java.home}/lib/rt.jar</lib><lib>${java.home}/lib/jce.jar</lib><lib>${java.home}/lib/security/policy/unlimited/local_policy.jar</lib><lib>${java.home}/lib/security/policy/unlimited/US_export_policy.jar</lib><lib>${java.home}/lib/ext/sunjce_provider.jar</lib></libs><!--加载文件的过滤器,就是你的工程目录了--><!--<inFilter>com/test/prog/**</inFilter>--><!--<inFilter>com/itdct/es/**</inFilter>--><!--对什么东西进行加载,这里仅有classes成功,毕竟你也不可能对配置文件及JSP混淆吧--><injar>classes</injar><!--输出目录--><outputDirectory>${project.build.directory}</outputDirectory></configuration><dependencies><!--使用6.0.2版本来混淆--><dependency><groupId>net.sf.proguard</groupId><artifactId>proguard-base</artifactId><version>6.0.2</version><scope>runtime</scope></dependency></dependencies></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
这里说一下自定义修改的地方,不报错也可以默认
生成jar的名称
jdk版本
<libs>标签中的local_policy.jar和US_export_policy.jar看看自己jdk的路径这个会有所不同 </libs>
我的路径
<libs><lib>${java.home}/lib/rt.jar</lib><lib>${java.home}/lib/jce.jar</lib><lib>${java.home}/lib/security/policy/unlimited/local_policy.jar</lib><lib>${java.home}/lib/security/policy/unlimited/US_export_policy.jar</lib><lib>${java.home}/lib/ext/sunjce_provider.jar</lib>
</libs>
有的
<libs><lib>${java.home}/lib/rt.jar</lib><lib>${java.home}/lib/jce.jar</lib><lib>${java.home}/lib/security/policy/limited/local_policy.jar</lib><lib>${java.home}/lib/security/policy/limited/US_export_policy.jar</lib><lib>${java.home}/lib/ext/sunjce_provider.jar</lib>
</libs>
还有的
<libs><lib>${java.home}/lib/rt.jar</lib><lib>${java.home}/lib/jce.jar</lib><lib>${java.home}/lib/security/local_policy.jar</lib><lib>${java.home}/lib/security/US_export_policy.jar</lib><lib>${java.home}/lib/ext/sunjce_provider.jar</lib>
</libs>
IDEA JDK1.8 ProGuard 混淆Maven项目代码相关推荐
- proguard+springboot+maven插件 代码混淆
一 背景 Java web项目部署到服务器上以后,尤其针对是在客户的服务器上部署,很容易被"友商"捞到相关的包,通过反编译的手段,我们的代码几乎等同于裸奔在不可管控的服务器上,产品 ...
- ProGuard混淆Java项目的核心代码
开发需求 众所周知,class文件可以进行反编译从而泄露核心代码,为了保护知识产权,需要对代码进行混淆再进行打包.现阶段采用proguard去做一个基本的混淆,使代码的可读性降低. 操作步骤 [模块目 ...
- Maven项目代码组织形式
1.常见的maven项目两种代码组织形式 1.1.平铺 可以看到,在这种结构下,parent 父工程和各个子工程从代码组织形式上来看都是平级的,都处于同一个目录下. 不过仔细查看 pom.xml 文件 ...
- 闲扯Maven项目代码组织形式
文章目录 1. 代码组织形式 1.1 平铺 1.2 父子结构 2. 打包问题 2.1 继承 2.2 聚合 3. 小结 因为最近有小伙伴问到了,所以我想和大家随便扯扯 Maven 项目中代码的组织形式这 ...
- 从异常堆栈中还原 ProGuard 混淆过的代码
在Android开发中我们经常会用到代码混淆, 但是如果这时候我们的app出现了崩溃, 返回的调用栈就比较麻烦, 不知道到底哪里有问题, 如下 at android.view.LayoutInflat ...
- Android:如何从堆栈中还原ProGuard混淆后的代码
本文翻译自Android: How To Decode ProGuard's Obfuscated Code From Stack Trace 本篇文章是写给那些在他们的应用中使用ProGuard并且 ...
- java maven 混淆_使用proguard实现maven工程代码混淆
proguard简单来说是为了防止反编译,更准确的说,是使得代码易读性变差. maven pom配置中加入以下: com.github.wvengen proguard-maven-plugin 2. ...
- apk反编译(6)用ProGuard 混淆、压缩代码,压缩资源。
1.android官方文档 https://developer.android.com/studio/build/shrink-code 主要内容如下: 1.1 压缩代码 混淆生成的文件:<m ...
- Maven项目代码中定位resources文件夹下的文件目录,解决文件不存在的问题
在IDEA中对于文件的路径会提示: ../resources/xxx.txt 不要这样!!!,会报错找不到路径,改为: src/main/resources/xxx.txt
最新文章
- mysql 5.6 rpm 安装_mysql 5.6 rpm 包安装步骤需要注意的地方
- 播放视频android学习笔记---44_在线视频播放器,网络视频解析器,SurfaceView 控件使用方法...
- 软考网络规划设计师论文考察要点
- 引号快捷键_高效率的Excel-Ctrl类快捷键二
- 专科 java转go 翱翔之路(一)基础语法:变量声明,匿名函数,结构体,函数,map
- java三点确定圆弧_圆弧方向判断方法和三点确定一个圆的计算方法
- mysql数据库简单语句
- 【原创】MapReduce实战(一)
- 【干货】腾讯内部-微信视频号介绍、商业玩法及涨粉方案.pdf(附下载链接)...
- java---多线程及线程的概念
- sap 供应商表_汐帆科技告诉你SAP 为何是企业最优先的选择?
- 自然环境资源数据集分享——资源环境数据云平台
- HTML制作简单个人简介页面
- AI智能写作指导:Wordhero AI写作英语长文流程
- 使用Photoshop制作相框
- 计算机桌面导航栏中删除内容,教你如何一键去除Windows桌面右击菜单多余选项-win7右键菜单管理...
- Java笔记-递归(汉洛塔)
- 2021华为杯数学建模D题完整思路
- groovy_流利的Groovy
- kjb文件 解析_NVH原始数据文件如何读取 Part2