概要
我使用的项目为微服务项目
整体流程
-
明确所有需要加密的jar包:
可以通过maven的package指令,查看日志,后缀为jar的即为所有需要加密的jar包。 -
在跟pom文件的properties属性中定义classfinal maven插件的属性值文章来源:https://www.toymoban.com/news/detail-858676.html
<!--classfinal插件版本-->
<classfinal.version>1.2.1</classfinal.version>
<!--要加密jar文件名(可为空,多个用","分割)-->
<classfinal.libjars>
fscloud-common-core-2.5.0.jar,
fscloud-api-system-2.5.0.jar,
fscloud-common-redis-2.5.0.jar,
fscloud-common-security-2.5.0.jar,
fscloud-auth-2.5.0.jar,
fscloud-gateway-2.5.0.jar,
fscloud-visual-monitor-2.5.0.jar,
fscloud-common-datasource-2.5.0.jar,
fscloud-common-datascope-2.5.0.jar,
fscloud-common-log-2.5.0.jar,
fscloud-common-swagger-2.5.0.jar,
fscloud-modules-system-2.5.0.jar,
fscloud-modules-gen-2.5.0.jar,
fscloud-modules-job-2.5.0.jar,
fscloud-modules-file-2.5.0.jar,
fscloud-news-2.5.0.jar,
fscloud-fservices-2.5.0.jar
</classfinal.libjars>
<!--加密密码,如果是#号,则使用无密码模式加密-->
<classfinal.password>1234</classfinal.password>
<!--需要加密的配置文件,一般是classes目录下的yml或properties文件(可为空,多个用","分割)-->
<classfinal.cfgfiles> </classfinal.cfgfiles>
<!--加密的包名(可为空,多个用","分割)-->
<classfinal.packages>com.fscloud</classfinal.packages>
<!--排除的类名(可为空,多个用","分割)-->
<classfinal.excludes>org.spring</classfinal.excludes>
- 在各个需要加密的服务的pom文件中引入classfinal maven 插件,放在plugins标签里面
<plugin>
<!-- https://gitee.com/roseboy/classfinal -->
<groupId>net.roseboy</groupId>
<artifactId>classfinal-maven-plugin</artifactId>
<version>${classfinal.version}</version>
<configuration>
<password>${classfinal.password}</password><!--加密打包之后pom.xml会被删除,不用担心在jar包里找到此密码-->
<packages>${classfinal.packages}</packages>
<cfgfiles>${classfinal.cfgfiles}</cfgfiles>
<excludes>${classfinal.excludes}</excludes>
<libjars>${classfinal.libjars}</libjars>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>classFinal</goal>
</goals>
</execution>
</executions>
</plugin>
- 引入完成后,直接使用maven的package指令进行打包,加密的jar包为 ***-encrypted.jar 格式。
- 启动
java -javaagent:yourpaoject-encrypted.jar="-pwd 1234" -jar yourpaoject-encrypted.jar
//参数说明
// -pwd 加密项目的密码
// -pwdname 环境变量中密码的名字
// 也可以使用下面的方式,在控制台输入密码启动
java -javaagent:yourpaoject-encrypted.jar -jar yourpaoject-encrypted.jar
注意:引号为双引号,如果写成了单引号会导致启动失败
文章来源地址https://www.toymoban.com/news/detail-858676.html
到了这里,关于引入classfinal maven 插件实现对jar包的加密的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!