首先感谢ClassFinal插件开发者,官方文档地址:ClassFinal: Java字节码加密工具
字节码加密工具 ClassFinal自己在使用中遇到的坑记录下,希望能有所帮助
1.springboot maven项目引入class-final及配置
<plugin>
<!-- https://gitee.com/roseboy/classfinal -->
<groupId>net.roseboy</groupId>
<artifactId>classfinal-maven-plugin</artifactId>
<version>${classfinal.version}</version>
<configuration>
<password>000000</password><!--加密打包之后pom.xml会被删除,不用担心在jar包里找到此密码-->
<packages>com.yourpackage,com.yourpackage2</packages>
<cfgfiles>application.yml</cfgfiles>
<excludes>org.spring</excludes>
<libjars>a.jar,b.jar</libjars>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>classFinal</goal>
</goals>
</execution>
</executions>
</plugin>
其最新版本是1.2.1,配置文件中请将密码,加密包,加密配置文件,加密jar改成自己的;
2.将加密后的war放在tomcat/webapps下, tomcat/bin/catalina 增加以下配置:
//win下catalina.bat
set JAVA_OPTS="-javaagent:classfinal-fatjar-1.2.1.jar"
3.官网下载classfinal-fatjar-1.2.1.jar 并将其放在对应tomcat/bin目录下(非常重要官网及很多文章没有说这点);
4.bin/点击startup.bat 输入密码正常启动程序
只有完成以上操作tomcat和项目才能正常启动!!!!!