直接复制到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项目代码相关推荐

  1. proguard+springboot+maven插件 代码混淆

    一 背景 Java web项目部署到服务器上以后,尤其针对是在客户的服务器上部署,很容易被"友商"捞到相关的包,通过反编译的手段,我们的代码几乎等同于裸奔在不可管控的服务器上,产品 ...

  2. ProGuard混淆Java项目的核心代码

    开发需求 众所周知,class文件可以进行反编译从而泄露核心代码,为了保护知识产权,需要对代码进行混淆再进行打包.现阶段采用proguard去做一个基本的混淆,使代码的可读性降低. 操作步骤 [模块目 ...

  3. Maven项目代码组织形式

    1.常见的maven项目两种代码组织形式 1.1.平铺 可以看到,在这种结构下,parent 父工程和各个子工程从代码组织形式上来看都是平级的,都处于同一个目录下. 不过仔细查看 pom.xml 文件 ...

  4. 闲扯Maven项目代码组织形式

    文章目录 1. 代码组织形式 1.1 平铺 1.2 父子结构 2. 打包问题 2.1 继承 2.2 聚合 3. 小结 因为最近有小伙伴问到了,所以我想和大家随便扯扯 Maven 项目中代码的组织形式这 ...

  5. 从异常堆栈中还原 ProGuard 混淆过的代码

    在Android开发中我们经常会用到代码混淆, 但是如果这时候我们的app出现了崩溃, 返回的调用栈就比较麻烦, 不知道到底哪里有问题, 如下 at android.view.LayoutInflat ...

  6. Android:如何从堆栈中还原ProGuard混淆后的代码

    本文翻译自Android: How To Decode ProGuard's Obfuscated Code From Stack Trace 本篇文章是写给那些在他们的应用中使用ProGuard并且 ...

  7. java maven 混淆_使用proguard实现maven工程代码混淆

    proguard简单来说是为了防止反编译,更准确的说,是使得代码易读性变差. maven pom配置中加入以下: com.github.wvengen proguard-maven-plugin 2. ...

  8. apk反编译(6)用ProGuard 混淆、压缩代码,压缩资源。

    1.android官方文档 https://developer.android.com/studio/build/shrink-code  主要内容如下: 1.1 压缩代码 混淆生成的文件:<m ...

  9. Maven项目代码中定位resources文件夹下的文件目录,解决文件不存在的问题

    在IDEA中对于文件的路径会提示: ../resources/xxx.txt 不要这样!!!,会报错找不到路径,改为: src/main/resources/xxx.txt

最新文章

  1. mysql 5.6 rpm 安装_mysql 5.6 rpm 包安装步骤需要注意的地方
  2. 播放视频android学习笔记---44_在线视频播放器,网络视频解析器,SurfaceView 控件使用方法...
  3. 软考网络规划设计师论文考察要点
  4. 引号快捷键_高效率的Excel-Ctrl类快捷键二
  5. 专科 java转go 翱翔之路(一)基础语法:变量声明,匿名函数,结构体,函数,map
  6. java三点确定圆弧_圆弧方向判断方法和三点确定一个圆的计算方法
  7. mysql数据库简单语句
  8. 【原创】MapReduce实战(一)
  9. 【干货】腾讯内部-微信视频号介绍、商业玩法及涨粉方案.pdf(附下载链接)...
  10. java---多线程及线程的概念
  11. sap 供应商表_汐帆科技告诉你SAP 为何是企业最优先的选择?
  12. 自然环境资源数据集分享——资源环境数据云平台
  13. HTML制作简单个人简介页面
  14. AI智能写作指导:Wordhero AI写作英语长文流程
  15. 使用Photoshop制作相框
  16. 计算机桌面导航栏中删除内容,教你如何一键去除Windows桌面右击菜单多余选项-win7右键菜单管理...
  17. Java笔记-递归(汉洛塔)
  18. 2021华为杯数学建模D题完整思路
  19. groovy_流利的Groovy
  20. kjb文件 解析_NVH原始数据文件如何读取 Part2

热门文章

  1. EM算法的九层境界:​Hinton和Jordan理解的EM算法
  2. 推荐系统相关科技论文写作建议
  3. (pytorch-深度学习系列)使用Pytorch实现小型卷积神经网络网络
  4. webshell提权教程linux,Linux下WEBSHELL提权
  5. 【转载保存】java四种线程池的使用
  6. equals 和 == 的区别?知乎转载
  7. 定义一个结构体指针需要分配存储空间?
  8. 阿里园区的这个“格子间” 成为企业高效协同新利器
  9. AI云原生浅谈:好未来AI中台实践
  10. 避开这2个误区,测试目标 KPI 不再难设