欢迎访问github

proguard是一款较为容易使用的java代码混淆工具,不需要其他配置,只需在pom中加入即可使用。

下面是具体pom

<build><finalName>${artifactId}</finalName><plugins><plugin><groupId>com.github.wvengen</groupId><artifactId>proguard-maven-plugin</artifactId><executions><execution><phase>package</phase><goals><goal>proguard</goal></goals></execution></executions><configuration><proguardVersion>5.3.3</proguardVersion><injar>${project.build.finalName}.jar</injar><outjar>${project.build.finalName}.jar</outjar><obfuscate>true</obfuscate><options><option>-dontshrink</option><option>-dontoptimize</option><!-- This option will replace all strings in reflections method invocations with new class names. For example, invokes Class.forName('className') --><option>-adaptclassstrings</option><!-- This option will save all original annotations and etc. Otherwise all we be removed from files. --><option>-keepattributesExceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod</option><option>-keepclassmembers public class * {void set*(***);***get*();}</option><!-- This option will save all original names in interfaces (without obfuscate). --><option>-keepnames interface **</option><!-- This option will save all original methods parameters in files defined in -keep sections, otherwise all parameter names will be obfuscate. --><option>-keepparameternames</option><!-- This option will save all original class files (without obfuscate) but obfuscate all in domain package. --><!--<option>-keep class !com.jincloud.** { *; }</option> --><option>-keep@org.springframework.boot.autoconfigure.SpringBootApplicationclass * {*;}</option><option>-keep class com.nagisa.zz.** { *; }</option><!-- This option will save all original class files (without obfuscate) in service package --><!-- This option will save all original interfaces files (without obfuscate) in all packages. --><option>-keep interface * extends * { *; }</option><!-- This option will save all original defined annotations in all class in all packages. --><option>-keepclassmembers class * {@org.springframework.beans.factory.annotation.Autowired *;@org.springframework.beans.factory.annotation.Value *;}</option></options><libs><!-- Include main JAVA library required. --><lib>${java.home}/lib/rt.jar</lib></libs></configuration><dependencies><dependency><groupId>net.sf.proguard</groupId><artifactId>proguard-base</artifactId><version>5.3.3</version></dependency></dependencies></plugin><!-- Maven assembly must be run after proguard obfuscation so it take already obfuscated files. --><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions><execution><goals><goal>repackage</goal></goals><configuration><mainClass>com.nagisa.App</mainClass></configuration></execution></executions></plugin></plugins></build>

使用的时候只需改动两处配置

一个是指定不混淆的类,一般实体类及dao层不会加入混淆

<option>-keep class com.nagisa.zz.** { *; }</option>

还有一个

<configuration><mainClass>com.nagisa.App</mainClass>
</configuration>

把项目的启动类全类名写入mainClass标签内。

启动的时候直接Run Maven Install。

java spring boot项目运用proguard实现代码混淆相关推荐

  1. springboot导入项目依赖报错_如何解决spring boot 项目导入依赖后代码报错问题

    如何解决spring boot 项目导入依赖后代码报错问题 2020-08-15  14:17:18 代码截图如图所示(由于本人问题已经解决,没来得及截图,所以在网上找了一张图片) ​ 针对图中所示的 ...

  2. Spring Boot项目结构

    目录 Spring Boot项目结构 一.代码层结构 二.资源目录结构 三.测试测序目录结构 四.项目结构示例 Spring Boot项目结构 一.代码层结构 根目录:src/main/java 入口 ...

  3. Java Spring Boot 2.0实战Docker容器与架构原理,视频与课件,基于Linux环境...

    Java Spring Boot 2.0实战Docker容器Linux与架构原理 内容摘要:Docker是最流行的开源容器引擎,Go语言开发,在互联网大规模集群.云计算.微服务等架构中广泛使用.本次课 ...

  4. apache目录 vscode_VsCode搭建Java开发环境(Spring Boot项目创建、运行、调试)

    VsCode搭建Java开发环境(Spring Boot项目创建.运行.调试) 安装如下两个主要扩展即可,这两个扩展已关联java项目开发主要使用的maven.springboot等所需要的扩展. 开 ...

  5. VsCode搭建Java开发环境(Spring Boot项目创建、运行、调试)

    本文转载自:https://www.cnblogs.com/miskis/p/9816135.html 安装如下两个主要扩展即可,这两个扩展已关联java项目开发主要使用的maven.springbo ...

  6. 毕设项目——智慧小区系统(Java Spring Boot+Vue ElementUI)

    毕设项目--智慧小区系统(Java Spring Boot+Vue ElementUI) 项目初衷(最真实版) 系统技术分析 前端界面 后端及数据库 系统功能介绍 小区业主端 物业人员端 系统界面展示 ...

  7. 【java】四步法:spring boot项目部署在CentOS 8(后端篇)

    四步法:spring boot项目部署在CentOS 8(后端篇) 一.使用IDEA打包项目为jar包(构建) 1. IDEA版本 2. maven版本 3. pom.xml 设置 4. 构建jar包 ...

  8. java servlet 部署到tomcat_如何把spring boot项目部署到tomcat容器中

    把spring-boot项目按照平常的web项目一样发布到tomcat容器下 一.修改打包形式 在pom.xml里设置 war 二.移除嵌入式tomcat插件 在pom.xml里找到spring-bo ...

  9. Spring Boot 项目中Java对象的字符串类型属性值转换为JSON对象的布尔类型键值的解决方法及过程

    文章目录 场景描述 示例说明 解决历程 @JsonFormat是否能解决问题? 万能方案-调试 替代方案 补充知识 Java对象与JSON对象的序列化与反序列化 相关注解说明 后记 场景描述 在Spr ...

最新文章

  1. java构造方法的书写和注意事项(入门可看)
  2. 文章标题对网站优化有什么影响?
  3. android 减少布局层级,Android 布局优化
  4. ffmpeg 0.8.11 VC编译的SDK已经发布
  5. 自编码器及其相关模型
  6. java redirect 跨域_如何解决跨域重定向携带参数的问题?不使用将参数拼接在重定向url末尾的方式...
  7. vue事件委托传递节点防止向下传递穿透
  8. html5 内嵌网页_如何分析并优化网页的性能?新梦想软件测试
  9. python爬虫过程中遇到的问题_python爬虫过程中出现的问题汇总-Go语言中文社区
  10. Django 基础,创建一个Django,并成功在网页中运行
  11. 让罗技Logitech R800/R400 激光笔演示遥控器 兼容支持苹果Mac OS X上的Key
  12. 谷歌的诀窍:如何取消验证码
  13. 拼团功能实现 php_PHP实现微信退款功能
  14. [英语]工作邮件中超实用的100句英文
  15. MVC中的action验证登录(ActionFilterAttribute)
  16. IPlImage的width和widthStep
  17. matlab电压闪变测量,基于IEC的电压闪变测量模块设计
  18. win10 电池测试软件,Win10电池检测方法及查看Win10电池检测报告说明
  19. 适合初中文凭学的计算机技术,初中毕业学啥技术好 最吃香的手艺
  20. PDO简介及其基本使用

热门文章

  1. 《人类简史》一、智人觉醒——席卷全球的洪水
  2. 解决:Invalid character found in method name. HTTP method names must be tokens
  3. python下载文件保存_Python根据URL地址下载文件并保存至对应目录的实现
  4. 将截图作为桌面的一部分,提醒自己待办事项
  5. 同一局域网不同网段ip实现通信
  6. 查看不到网络上的计算机和设备,Win10 无法看到局域网中的其他计算机及网络打印机...
  7. 360linux网卡驱动,驱动下载
  8. 站在2021年开端,我从AWS那里看到了云计算未来
  9. 系统集成项目管理工程师证书介绍
  10. nas存储挂载linux永久挂载,将ubuntu设置为NAS——2. 新增硬盘挂载