场景

这边用 springboot 开发打包后得到 jar 包,要在客户机器上部署,有防反编译和绑定唯一id的需求

引入

https://gitee.com/roseboy/classfinal.git

Maven 插件方式引入

<plugin><groupId>net.roseboy</groupId><artifactId>classfinal-maven-plugin</artifactId><version>1.2.1</version><configuration><!--  加密打包之后pom.xml会被删除,不用担心在jar包里找到此密码,当为 # 时不加密 --><password>xxxx</password><!-- 加密的包名(可为空,多个用","分割) --><packages>io.renren</packages><!--  配置说明文件,如果没有特殊的打包要求可以注销 cfgfiles 标签  --><cfgfiles>application.yml</cfgfiles><code>xxxx</code><!--  排除的类名(可为空,多个用","分割) -->
<!--                    <excludes>org.spring</excludes>--></configuration><executions><execution><phase>package</phase><goals><goal>classFinal</goal></goals></execution></executions></plugin>

打包

会看到得到一个 xxx-encrypted.jar

启动时可以看到提示需要输入密码

java -javaagent:xxx-encrypted.jar -jar xxx-encrypted.jar

绑定机器码

https://gitee.com/link?target=https%3A%2F%2Frepo1.maven.org%2Fmaven2%2Fnet%2Froseboy%2Fclassfinal-fatjar%2F1.2.1%2Fclassfinal-fatjar-1.2.1.jar

# 部署的机器上运行
java -jar classfinal-fatjar.jar -C

配置文件的 code 里面 配置待部署的机器上生成的 code

就能实现绑定机器码了

TODO

其实还剩下一个后台运行输入 passwd 的需求没实现,这里挺矛盾的,所以实际用的时候我没设置密码,password 那一行注释掉了,后面再填坑吧

SpringBoot 项目 引入ClassFinal 解决代码加密和机器码绑定问题相关推荐

  1. Springboot项目引入Bootstrap后,图标不能正常显示,报:Failed to decode downloaded font

    springboot项目引入bootstrap后,报:Failed to decode downloaded font,图标不能正常显示 在pom文件中,添加如下配置 <plugin>&l ...

  2. Java springboot项目引入腾讯云COS实现上传

    Java springboot项目引入腾讯云COS实现上传 pom.xml 配置类CosConfig.java 上传工具类CosClientUtil.java pom.xml <!--腾讯云上传 ...

  3. SpringBoot项目报错解决:“Error starting ApplicationContext. To display the conditions report re-run ...”

    SpringBoot项目报错:Error starting ApplicationContext. To display the conditions report re-run your appli ...

  4. springboot项目引入图片_SpringBoot实现上传图片功能

    1:首先在项目的pom文件中添加两个依赖 commons-fileupload commons-fileupload 1.3.1 net.coobird thumbnailator 0.4.8 2:r ...

  5. springboot项目引入图片_项目经验不重样!3个基于 SpringBoot 的图片识别处理系统送给你!...

    我是 Guide 哥,一 Java 后端开发,会一点前端,自由的少年. 如果文章有任何需要改善和完善的地方,欢迎在评论区指出,共同进步! 最近看了太多读者小伙伴的简历,发现各种商城/秒杀系统/在线教育 ...

  6. springboot项目引入图片_项目经验不重样!3个基于SpringBoot 的图片识别处理系统送给你...

    转载:https://mp.weixin.qq.com/s/WDMyIfOi2ogw0mKl3XxQdQ 最近看了太多读者小伙伴的简历,发现各种商城/秒杀系统/在线教育系统真的是挺多的.推荐一下昨晚找 ...

  7. java项目免费授权方案 代码加密 离线授权 模块授权

    java项目单机离线部署时,放在客户端无外网控制权限, 怎么实现软件级别的加密授权呢?大多数使用lic号 , 采集mac地址,硬件编号授权, 但是class类很容易反编译被破解.很容易被模仿,抄袭核心 ...

  8. window中使用bat启动springboot项目,并解决乱码问题

    目录 1.springboot项目打包jar 2.编写bat启动springboot脚本 3.bat启动springboot 4.常见问题 4.1.解决bat控制台中文乱码问题 4.2.cd %~dp ...

  9. 使用IDEA集成docker部署springboot项目及bug解决并连同redis、MySQL

    流程介绍 安装docker(windows) 配置docker源加速 docker安装redis IDEA集成docker # IDEA连接docker 配置springboot项目 打包成docke ...

最新文章

  1. “云智一体”的全场景智能视频技术是什么?
  2. 太强了!这款轻量级的数据库中间件完美解决了SpringBoot中分库分表问题
  3. iOS应用内付费(IAP)开发步骤列表
  4. Python爬虫环境常用库安装
  5. 计算机原理与技术索引的应用,经常学一点计算机底层原理系列之索引
  6. 兴业银行实时跨行转入功能、免除手续费及网点排队
  7. 测试方法-等价类划分法
  8. 余世伟视频笔记----如何塑造管理者的性格魅力领袖根性之诚信和担当
  9. ora-01033错误恢复
  10. 盘点含金量高的几种编程比赛
  11. 老一辈学计算机的在那,真实的南京大学计算机系
  12. JAVA基础——对象与引用概念(转载)
  13. obj[key].obj['key'],obj.key的区别
  14. STEP2——《数据分析:企业的贤内助》重点摘要笔记(六)——数据描述
  15. 铁矿石需求量matlab代码,铁矿石期货市场分析
  16. Netty实现聊天室
  17. 苹果党福利!手机数据备份恢复使用攻略
  18. H2.64和H2.65编码区别
  19. C语言实现小游戏之井字棋
  20. DropWizard的AOP扩展点最佳实践

热门文章

  1. Linux的qt安装包下载
  2. 如何通过云模板创建表单?丨三叠云教程
  3. matlab混合声音分离,matlab 声道分离合并与组合
  4. 【系统分析师之路】2022上论文写作历年真题
  5. vue 平滑回到顶部
  6. ps切图插件Cutterman Mac中文版
  7. iconfont配置nginx跨域问题、nginx反向代理接口跨域
  8. DSP入门必看(下)
  9. 武汉凯迪正大KD305系列智能数字绝缘电阻测试仪
  10. react cookie_安全React快速应用程序jsonwebtoken cookie会话auth0和通行证教程