diff --git a/generator/src/main/java/com/reajason/javaweb/buddy/ByPassJdkModuleInterceptor.java b/generator/src/main/java/com/reajason/javaweb/buddy/ByPassJdkModuleInterceptor.java
index 1d0bf84d..dce748d0 100644
--- a/generator/src/main/java/com/reajason/javaweb/buddy/ByPassJdkModuleInterceptor.java
+++ b/generator/src/main/java/com/reajason/javaweb/buddy/ByPassJdkModuleInterceptor.java
@@ -37,6 +37,26 @@ public class ByPassJdkModuleInterceptor {
}
}
+ /**
+ * Reference1: stackoverflow
+ * Reference2: issue
+ *
+ * 向类中添加 byPassJdkModule 方法,并在创建静态变量初始化,使其能在静态代码块中执行 byPassJdkModule 方法
+ * 值得注意的一点,builder 是不可变类型,所以都是需要重新赋值,例如以下代码示例
+ * # code that not work
+ * builder = new Bytebuddy().redefine(class);
+ * builder.visit(something);
+ * builder.make();
+ *
+ * # code that work
+ *
+ * builder = new Bytebuddy().redefine(class);
+ * builder = builder.visit(something);
+ * builder.make();
+ *
+ * @param builder bytebuddy builder
+ * @return new builder with bypass
+ */
public static DynamicType.Builder> extend(DynamicType.Builder> builder) {
return builder
.defineField("isBypassModule", boolean.class, Visibility.PUBLIC, Ownership.STATIC)
diff --git a/generator/src/test/java/com/reajason/javaweb/memsell/tomcat/godzilla/GodzillaValveTest.java b/generator/src/test/java/com/reajason/javaweb/memsell/tomcat/godzilla/GodzillaValveTest.java
index 4120b514..17ff7c7b 100644
--- a/generator/src/test/java/com/reajason/javaweb/memsell/tomcat/godzilla/GodzillaValveTest.java
+++ b/generator/src/test/java/com/reajason/javaweb/memsell/tomcat/godzilla/GodzillaValveTest.java
@@ -7,9 +7,6 @@ import net.bytebuddy.jar.asm.Opcodes;
import org.apache.commons.codec.binary.Base64;
import org.junit.jupiter.api.Test;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-
import static org.junit.jupiter.api.Assertions.assertEquals;
/**
@@ -40,7 +37,7 @@ class GodzillaValveTest {
void generateJakarta() {
String className = "org.apache.utils.CommonJakartaValve";
byte[] bytes = GodzillaGenerator.generate(GodzillaValve.class, className, pass, key, headerName, headerValue, true, Opcodes.V11, false);
- Files.write(Paths.get(className + ".class"), bytes);
+// Files.write(Paths.get(className + ".class"), bytes);
Object obj = ClassUtils.newInstance(bytes);
assertEquals(className, obj.getClass().getName());
assertEquals(pass, ClassUtils.getFieldValue(obj, "pass"));