<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.28.0-GA</version>
</dependency>
import javassist.*;
public class JavassistDemo {
public static void main(String[] args) throws Exception {
ClassPool classPool = ClassPool.getDefault();
CtClass ctClass = classPool.makeClass("com.example.NewClass");
CtMethod ctMethod = CtNewMethod.make("public void greet() { System.out.println(\"Hello, Javassist!\"); }", ctClass);
ctClass.addMethod(ctMethod);
ctClass.writeFile();
System.out.println("NewClass has been created!");
}
}
import javassist.*;
public class JavassistDemo {
public static void main(String[] args) throws Exception {
ClassPool classPool = ClassPool.getDefault();
CtClass ctClass = classPool.get("com.example.ExistingClass");
CtMethod ctMethod = ctClass.getDeclaredMethod("existingMethod");
ctMethod.insertBefore("System.out.println(\"Before existingMethod\");");
ctMethod.insertAfter("System.out.println(\"After existingMethod\");");
ctClass.writeFile();
System.out.println("ExistingClass has been modified!");
}
}