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>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/519842.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

可应用于实际的14个NLP突破性研究成果(三)

论文摘要 当前最先进的语义角色标记&#xff08;SRL&#xff09;使用深度神经网络&#xff0c;但没有明确的语言特征。之前的工作表明&#xff0c;抽象语法树可以显著改善SRL&#xff0c;从而提高模型准确性。在这项研究中&#xff0c;我们提出了语言学的自我关注&#xff08;…

服务器cpu虚拟插槽,服务器更换cpu插槽

服务器更换cpu插槽 内容精选换一换弹性云服务器创建成功后&#xff0c;您可以根据需求&#xff0c;修改云服务器的名称。系统支持批量修改多台弹性云服务器的名称&#xff0c;修改完成后&#xff0c;这些弹性云服务器的名称相同。登录管理控制台。单击管理控制台左上角的&#…

云+X案例展 | 民生类:贝斯平云助力500强跨国企数字化转型

本案例由贝斯平云投递并参与评选&#xff0c;CSDN云计算独家全网首发&#xff1b;更多关于【云X 案例征集】的相关信息&#xff0c;点击了解详情丨挖掘展现更多优秀案例&#xff0c;为不同行业领域带来启迪&#xff0c;进而推动整个“云行业”的健康发展。在全球化的科技进步和…

json处理最外层引号

String substring jsonMsg.substring(1, jsonMsg.length() - 1); String replace substring.replace("\\", "");

基于Alluxio系统的Spark DataFrame高效存储管理技术

介绍 越来越多的公司和组织开始将Alluxio和Spark一起部署从而简化数据管理&#xff0c;提升数据访问性能。Qunar最近将Alluxio部署在他们的生产环境中&#xff0c;从而将Spark streaming作业的平均性能提升了15倍&#xff0c;峰值甚至达到300倍左右。在未使用Alluxio之前&#…

Arthas实践--获取到Spring Context,然后为所欲为

背景 Arthas 是Alibaba开源的Java诊断工具&#xff0c;深受开发者喜爱。 https://github.com/alibaba/arthas Arthas提供了非常丰富的关于调用拦截的命令&#xff0c;比如 trace/watch/monitor/tt 。但是很多时候我们在排查问题时&#xff0c;需要更多的线索&#xff0c;并不…

$.ajax modal,使用bootstrap modal.load()加载的js,第二次modal显示的时候,js不生效?...

我想要动态加载modal内的内容(一个模版&#xff0c;里面包含加载js文件)&#xff0c;我使用load(),在modal显示的时候进行ajax加载&#xff0c;js如下&#xff1a;$(#modal).on(show.bs.modal, function (e) {$(this).load($(e.relatedTarget).data(url));});原先在页面上已经存…

云+X案例展 | 金融类:青云QingCloud助力泰康人寿云计算演进之路

本案例由荣之联投递并参与评选&#xff0c;CSDN云计算独家全网首发&#xff1b;更多关于【云X 案例征集】的相关信息&#xff0c;点击了解详情丨挖掘展现更多优秀案例&#xff0c;为不同行业领域带来启迪&#xff0c;进而推动整个“云行业”的健康发展。泰康保险泰康云平台 青…

阿里云Kubernetes容器服务上体验Knative

概述 Knative Serving是一种可缩放至零、请求驱动的计算运行环境&#xff0c;构建在 Kubernetes 和 Istio 之上&#xff0c;支持为 serverless 应用、函数提供部署与服务。Knative Serving的目标是为Kubernetes提供扩展功能&#xff0c;用于部署和运行无服务器工作负载。 下面…

Springboot2 Quartz实现JAVA定时任务的动态配置

动态配置Quartz。没接触过定时任务的同学可以先看下此篇&#xff1a;JAVA定时任务实现的几种方式 文章目录一、需求背景1. 问题现象2. 问题分析3. 解决方案二、需求背景2.1. maven依赖2.2. 创建一个任务表2.3. 实现步骤三、代码逻辑3.1. Quartz配置3.2. 启动项目&#xff0c;加…

IoT Studio + LoRa打造“又猛又持久”的智能厕所

概述 为了增加厕所使用效率&#xff0c;减少被味道“熏陶”的等待时间&#xff0c;同时也为了增加厕所的清洁效率&#xff0c;我们决定做一个非侵入式的智能厕所改造方案。它可以通过红外热释电检测每个坑位有没有人&#xff0c;在web/app上实时显示&#xff0c;方便如厕人员查…

分布式事务中间件Fescar—全局写排它锁解读

前言 一般&#xff0c;数据库事务的隔离级别会被设置成 读已提交&#xff0c;已满足业务需求&#xff0c;这样对应在Fescar中的分支&#xff08;本地&#xff09;事务的隔离级别就是 读已提交&#xff0c;那么Fescar中对于全局事务的隔离级别又是什么呢&#xff1f;如果认真阅…

萤石网络摄像头服务器稳定吗,萤石摄像头画面稳定性如何?

稳定性很好&#xff0c;体现在&#xff1a;1、C1S互联网摄像头提供400万像素的摄像头&#xff0c;拥有双向实时语音功能&#xff0c;包括内置温湿度传感器、内置备用电池以及“放大镜”功能。2、萤石爱家神器C2采用内置6块光学镜片的监控镜头&#xff0c;720P图像会保证视频画面…

GTC CHINA 2019 | 黄仁勋发表主题演讲,多项创新技术与合作全面助力 AI 加速落地

近日&#xff0c;NVIDIA 创始人兼首席执行官黄仁勋在中国苏州举办的 GTC China 大会上发表主题演讲&#xff0c;宣布多项创新技术与合作&#xff0c;并阐述了 NVIDIA 如何助力 AI 加速进入大规模应用。 GTC China 是 NVIDIA 每年在中国最重要的大会&#xff0c;今年更是吸引了 …

PMP考试必看的答题技巧分享

一. 控制答题和涂写速度 按顺序答题&#xff0c;遇到纠结题&#xff0c;按照第一印象选择&#xff0c;并标记&#xff0c;涂完200题后再回顾。 可以先在试卷上写选项&#xff0c;然后根据20题一涂&#xff0c;或者50题一涂&#xff0c;用途题的时间舒缓大脑。 端正心态&…

Kubernetes 调度器实现初探

Kubernetes 调度器 Kubernetes 是一个基于容器的分布式调度器&#xff0c;实现了自己的调度模块。 在Kubernetes集群中&#xff0c;调度器作为一个独立模块通过pod运行。从几个方面介绍Kubernetes调度器。 调度器工作方式 Kubernetes中的调度器&#xff0c;是作为单独组件运…

全民学后端快餐教程(1) - 只不过是写个Java程序

服务端程序本质上也只是个Java程序&#xff0c;它接收客户端的输入&#xff0c;然后将计算处理后的返回值返回给客户端。下面我们就以这个思路开始Java后端之旅吧。 引用Spring Boot库 处理HTTP请求之类的事情&#xff0c;我们需要库的帮助。所以第一步我们就把Spring Boot引…

NVIDIA发布先进的软件定义自主机器平台DRIVE AGX Orin

近日&#xff0c;NVIDIA发布了用于自动驾驶和机器人的高度先进的软件定义平台——NVIDIA DRIVE AGX Orin™。 该平台内置全新Orin系统级芯片。该芯片由170亿个晶体管组成&#xff0c;凝聚着NVIDIA团队为期四年的努力。Orin系统级芯片集成了NVIDIA新一代GPU架构和Arm Hercules C…

linux下删除目录及其子目录下某种类型文件

#. : 表示在当前目录下 find . -name "*.txt" -type f -print -exec rm -rf {} \; # find /root/2 -name "*.txt" -type f -print -exec rm -rf {} \; 符号说明.表示在当前目录下-name “*.txt”表示查找所有后缀为txt的文件-type f表示文件类型为一般正规…

OceanBase在蚂蚁金服的智能运维实践之路

OB君&#xff1a;蚂蚁金服资深技术专家虞舜将在本文为大家分享蚂蚁金服数据库所面对的业务挑战&#xff0c;解读OceanBase的自治数据库体系&#xff0c;解密OceanBase在天猫双11大促期间的稳定性解决方案&#xff0c;探索OceanBase在蚂蚁金服的智能运维实践之路。本文整理自Oce…