修改反编译程序
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import javassist.*;
import javassist.CtField.Initializer;
/**
* @author Stony
* jar -xvf mybatis_plus.jar
* jar -cvfM0 mybatis_plus.jar ./
* JavaTypeResolver
* DatabaseIntrospector
* CommentGenerator
* Created Date : 2016/4/27 9:57
*/
public class Js {
public static void main(String[] args) throws Exception{
ClassPool cp = ClassPool.getDefault();
CtClass javaUtils = cp.get("com.seventh7.mybatis.util.JavaUtils");
//System.out.println("cc == " + cc);
CtMethod refValid = javaUtils.getDeclaredMethod("refValid");
System.out.println("method == " + refValid);
refValid.setBody("{validated = true; valid = true; return valid;}");
javaUtils.writeFile("ok\\class");
CtClass javaService = cp.get("com.seventh7.mybatis.service.JavaService");
CtMethod stop = javaService.getDeclaredMethod("stop");
stop.setBody("{return;}");
javaService.writeFile("ok\\class");
}
}
1.新建一个maven项目,增加pom.xml依赖文件
<dependencies> <!-- https://mvnrepository.com/artifact/org.javassist/javassist --> <dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version>3.21.0-GA</version> </dependency> </dependencies>2.从inteilje默认路径C:\Users\Administrator\.IntelliJIdea2016.2\config\plugins\mybatis_plus\lib下拷贝jar包到新项目中
3. run上述程序,生产修改后的.class文件
4.拷贝上述生产的文件,并覆盖jar包本身的文件,即可