一、新建maven项目,添加javassist依赖
<!-- https://mvnrepository.com/artifact/org.javassist/javassist -->
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.28.0-GA</version>
</dependency>
二、编写修改.class文件
// 获取 Jar 包
ClassPool.getDefault().insertClassPath(
"D:\\test\\jetbrains.jetpass.userManagement-2021.1.13262.jar");
CtClass c2 = ClassPool.getDefault().getCtClass("jetbrains.jetpass.userManagement.persistence.license.HostLicenseChecker");
CtMethod aMethod = c2.getDeclaredMethod("checkAllowsMoreUsers");
// 重置方法体
aMethod.setBody("return;");
CtMethod bMethod = c2.getDeclaredMethod("checkUsersLimitNotExceeded");
// 重置方法体
bMethod.setBody("return;");
c2.writeFile();
生成的class类如下
三、替换class类
jar uvf jetbrains.jetpass.userManagement-2021.1.13262.jar jetbrains/jetpass/userManagement/persistence/license/HostLicenseChecker.class
注意:文件目录
jar文件要与 生成的类的顶级目录也就是 jetbrains目录在同一层目录下