SpringBoot使用classfinal-maven-plugin插件加密Jar包的示例代码
jar包加密
1、在启动类的pom.xml中加入classfinal-maven-plugin插件
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>net.roseboy</groupId> <artifactId>classfinal-maven-plugin</artifactId> <version>1.2.1</version> <configuration> <password>#</password> <!--启动密码,#为空--> <excludes>org.spring</excludes> <packages>${groupId}</packages> <!--需要加密的包名,有多个使用逗号分隔--> <cfgfiles>application.yml,spy.properties,ehcache.xml</cfgfiles> <!--需要加密的配置文件,有多个使用逗号分隔--> <libjars>SuperDog.jar</libjars> <!--jar包lib目录下要加密的jar依赖,有多个使用逗号分隔--> <code></code> <!--机器码,指定某个机器启动--> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>classFinal</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
2、在右侧的maven工具栏中使用install,xxx-encrypted.jar是加密后的jar包
3、加密后的jar包不能直接运行,要设置javaagent来启动,启动过程中会解密
//无密码启动 java -javaagent:APF_AssetServer-encrypted.jar -jar APF_AssetServer-encrypted.jar //有密码启动 java -javaagent:APF_AssetServer-encrypted.jar='-pwd=密码' -jar APF_AssetServer-encrypted.jar //增加其他参数启动 java -javaagent:APF_AssetServer-encrypted.jar -jar -Xmx512m -Xms512m APF_AssetServer-encrypted.jar --spring.profiles.active=APF_AssetServer-encrypted
反编译效果
class文件只能看到方法名、参数和注解,方法内容被清空
配置文件变成空白
绑定机器启动
1、下载 classfinal-fatjar-1.2.1.jar
2、执行 java -jar classfinal-fatjar-1.2.1.jar -C
3、将生成的机器码,放到maven插件的code里
到此这篇关于SpringBoot使用classfinal-maven-plugin插件加密Jar包的示例代码的文章就介绍到这了,更多相关SpringBoot classfinal-maven-plugin加密Jar包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
maven 插件 assembly 打tar.gz包的详细过程
这篇文章主要介绍了maven插件assembly打tar.gz包的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-06-06使用Mybatis-plus实现时间自动填充(代码直接可用)
这篇文章主要介绍了使用Mybatis-plus实现时间自动填充(代码直接可用),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-06-06解决Springboot项目bootstrap.yml不生效问题
Spring Boot 2.4版本开始,配置文件加载方式进行了重构,只会识别application.* 配置文件,并不会自动识别bootstrap.yml,所以本文给大家介绍Springboot项目bootstrap.yml不生效问题的解决方案,需要的朋友可以参考下2023-09-09
最新评论