SpringBoot多模块项目proguard混淆

SpringBoot多模块项目proguard混淆

  • 前言
  • 整活
    • 项目目录
    • 混淆后的效果图
    • 混淆配置
  • 混淆配置规则
  • keep相关
    • 通配符和关键字
    • keep说明
  • 常见问题
  • 解决办法
  • 效果

前言

proguard 是压缩、优化和混淆Java字节码文件的免费的工具。
它可以删除无用的类、字段、方法和属性。可以删除没用的注释,最大限度地优化字节码文件。它还可以使用简短的无意义的名称来重命名已经存在的类、字段、方法和属性。常常用于混淆最终的项目,增加项目被反编译后的可读性。

整活

项目目录

在这里插入图片描述

混淆后的效果图

在这里插入图片描述
只对选中的模块的代码进行混淆

混淆配置

在需要混淆的模块下的pom.xml文件中加入proguard的配置

<build><finalName>${project.artifactId}-${project.parent.version}</finalName><plugins><!--proguard混淆插件  开始 --><plugin><groupId>com.github.wvengen</groupId><artifactId>proguard-maven-plugin</artifactId><version>2.6.0</version><executions><execution><!--打包的时候开始混淆--><phase>package</phase><goals><goal>proguard</goal></goals></execution></executions><configuration><!-- 就是输入Jar的名称,我们要知道,代码混淆其实是将一个原始的jar,生成一个混淆后的jar,那么就会有输入输出。 --></

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

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

相关文章

单片机学习笔记---串口通信(2)

目录 串口内部结构 串口相关寄存器 串口控制寄存器SCON SM0和SM1 SM2 REN TB8和RB8 TI和RI 电源控制寄存器PCON SMOD 串口工作方式 方式0 方式0输出&#xff1a; 方式0输入 方式1 方式1输出。 方式1输入 方式2和方式3 方式2和方式3输出&#xff1a; 方式2和…

Go 语言 for 的用法

For statements 本文简单翻译了 Go 语言中 for 的三种用法&#xff0c;可快速学习 Go 语言 for 的使用方法&#xff0c;希望本文能为你解开一些关于 for 的疑惑。详细内容可见文档 For statements。 For statements with single condition 在最简单的形式中&#xff0c;只要…

算法提升——LeetCode123场双周赛总结

周赛题目 三角形类型 II 给你一个下标从0开始长度为3的整数数组nums&#xff0c;需要用它们来构造三角形。 如果一个三角形的所有边长度相等&#xff0c;那么这个三角形称为equilateral。 如果一个三角形恰好有两条边长度相等&#xff0c;那么这个三角形称为isosceles。 如…

2 月 6 日算法练习- 动态规划

砝码承重 【问题描述】 你有一架天平和 N 个砝码&#xff0c;这 N 个砝码重量依次是 W1,W2,...,WN。请你计算一共可以称出多少种不同的正整数重量&#xff1f;注意砝码可以放在天平两边。【输入格式】 输入的第一行包含一个整数 N。第二行包含 N 个整数&#xff1a;W1,W2,W3,.…

【考研408】计算机与组成原理笔记

文章目录 [toc] 计算机系统概述计算机系统层次结构计算机硬件的基本组成计算机软件的分类计算机的工作过程计算机系统的多级层次结构课后习题 计算机的性能指标计算机的主要性能指标几个专业术语课后习题 总结 数据的表示和运算数制与编码进位计数制及其相互转换 定点数的表示与…

ctfshow——命令执行

文章目录 web 29——通配符*绕过web30——调用其他命令执行函数web 31——参数逃逸web 32-web 36——配合文件包含伪协议web 37-web 39——文件包含web 40—— web 29——通配符*绕过 i不区分大小写&#xff0c;直接?csystem(tac fl*.php); web30——调用其他命令执行函数 调用…

Linux自有服务—防火墙和计划任务

Linux常用自有服务有NTP时间同步服务、firewalld防火墙服务和crond计划任务服务&#xff0c;NTP在上一篇中讲过&#xff0c;这次主要来说一下防火墙firewalld与计划任务的相关内容。如下。 一、Linux中防火墙firewalld 1、什么是防火墙 防火墙&#xff1a;防范一些网络攻击…

HashMap底层原理第二篇

1.HashMap的get流程 分析代码: public V get(Object key) {HashMap.Node<K,V> e;/*** 1.计算key的hash值* e:获取的结果*/return (e = getNode(hash(key), key)) == null ? null : e.value; }final HashMap.Node<K,V> getNode(int hash, Object key) {HashMap.…

高速接口PCB布局指南(五)高速差分信号布线(三)

高速接口PCB布局指南&#xff08;五&#xff09;高速差分信号布线&#xff08;三&#xff09; 1.表面贴装器件焊盘不连续性缓解2.信号线弯曲3.高速信号建议的 PCB 叠层设计4.ESD/EMI 注意事项5.ESD/EMI 布局规则 tips&#xff1a;资料主要来自网络&#xff0c;仅供学习使用。 …

2.6作业

一、填空题 1、一个类的头文件如下所示&#xff0c;num初始化值为5&#xff0c;程序产生对象T&#xff0c;且修改num为10&#xff0c;并使用show()函数输出num的值10。 #include <iostream.h> class Test { private: static int num; public: Test(int); void show(); };…

Vue源码系列讲解——变化侦测篇【上】(何为变化侦测)

目录 1. 前言 2.什么是变化侦测 3.总结 1. 前言 众所周知&#xff0c;Vue最大的特点之一就是数据驱动视图&#xff0c;那么什么是数据驱动视图呢&#xff1f;在这里&#xff0c;我们可以把数据理解为状态&#xff0c;而视图就是用户可直观看到页面。页面不可能是一成不变的…

前端JavaScript篇之强类型语言和弱类型语言的区别和对比

目录 强类型语言和弱类型语言的区别和对比总结 强类型语言和弱类型语言的区别和对比 强类型语言和弱类型语言是编程语言的两种不同类型系统&#xff0c;它们处理变量类型的方式有所不同。 强类型语言&#xff1a; 强类型语言要求在使用变量之前必须明确声明其类型&#xff0c;…

dolphinscheduler海豚调度(一)简介快速体验

1、简介 Apache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景&#xff0c;提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。 Apache DolphinScheduler 旨在解决复杂的大数据任务依赖关系&#xff0c;并为应…

手把手教你激活BetterZip for Mac免费下载(附注册码) v5.3.4

软件介绍 BetterZip for Mac是一款广受欢迎的文件解压缩工具&#xff0c;支持Mac以及Windows等多个平台&#xff0c;能够生成被Win和Mac支持的压缩包&#xff0c;让用户可以在Mac和Windows电脑之间使用一种通用压缩包&#xff0c;用户可以更快捷地向压缩文件中添加和删除文件&…

暴雨讲堂| 发展数字经济 促进数实融合

数字经济呈现出以数字技术为发展驱动力、以数据要素为核心生产要素、以平台为主要组织形式的新特征。 数据、算法、算力是数字经济时代的重要推动力。 算法和算力是充分挖掘数据价值的必要支撑。大数据和人工智能的应用不仅体现在生产端、渠道端&#xff0c;在科技的生产中也…

相机图像质量研究(9)常见问题总结:光学结构对成像的影响--工厂镜头组装

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结&#xff1a;光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结&#xff1a;光学结构对成…

Linux(三)--文件系统

Linux命令简介 [rootlocalhost ~]# 表示 Linux 系统的命令提示符。 []&#xff1a;这是提示符的分隔符号&#xff0c;没有特殊含义。 root&#xff1a;显示的是当前的登录用户&#xff0c;笔者现在使用的是 root 用户登录。 &#xff1a;分隔符号&#xff0c;没有特殊含义。 l…

c++阶梯之类与对象(中)< 续集 >

前文&#xff1a; c阶梯之类与对象&#xff08;上&#xff09;-CSDN博客 c阶梯之类与对象&#xff08;中&#xff09;-CSDN博客 前言&#xff1a; 在上文中&#xff0c;我们学习了类的六个默认成员函数之构造&#xff0c;析构与拷贝构造函数&#xff0c;接下来我们来看看剩下…

hbuiderX打包为apk后无法停止录音的解决方案

同一个APP在hbuilder和hbuilderX打包&#xff0c;出现没有麦克风权限 - DCloud问答 第一步&#xff1a; 在manifest.json的“模块权限配置”中勾选以下权限&#xff1a; <uses-permission android:name"android.permission.MODIFY_AUDIO_SETTINGS" /> <use…

【OpenVINO™】在 MacOS 上使用 OpenVINO™ C# API 部署 Yolov5 (下篇)

在 MacOS 上使用 OpenVINO™ C# API 部署 Yolov5 &#xff08;下篇&#xff09; 项目介绍 YOLOv5 是革命性的 "单阶段"对象检测模型的第五次迭代&#xff0c;旨在实时提供高速、高精度的结果&#xff0c;是世界上最受欢迎的视觉人工智能模型&#xff0c;代表了Ult…