code
`
import net.bytebuddy.ByteBuddy;
import net.bytebuddy.agent.ByteBuddyAgent;
import net.bytebuddy.dynamic.loading.ClassReloadingStrategy;
import net.bytebuddy.implementation.MethodDelegation;
import net.bytebuddy.implementation.bind.annotation.AllArguments;
import net.bytebuddy.implementation.bind.annotation.Origin;
import net.bytebuddy.implementation.bind.annotation.RuntimeType;
import net.bytebuddy.implementation.bind.annotation.This;
import net.bytebuddy.matcher.ElementMatchers;
import java.lang.reflect.Method;
import java.util.concurrent.Callable;
public class PrivateMethodInterceptor {
public static void main(String[] args) throws Exception {
// 初始化ByteBuddy Agent
ByteBuddyAgent.install();
// 创建目标类实例
TargetClass target = new TargetClass();
// 重新定义类以拦截私有方法
new ByteBuddy()
.rebase(TargetClass.class)
.name(TargetClass.class.getName())
.method(ElementMatchers.named("privateMethod"))
.intercept(MethodDelegation.to(Interceptor.class))
.make()
.load(Thread.currentThread().getContextClassLoader(),
ClassReloadingStrategy.fromInstalledAgent());
// 调用公有方法触发私有方法调用
target.publicMethod();
}
public static class Interceptor {
@RuntimeType
public static Object intercept(
@Origin Method method,
@AllArguments Object[] args,
@This Object target) throws Exception {
System.out.println("拦截到私有方法调用: " + method.getName());
System.out.println("方法参数: " + java.util.Arrays.toString(args));
try {
// 执行原方法
Object result = target.toString();
System.out.println("方法返回值: " + result);
return result;
} catch (Exception e) {
System.err.println("方法执行异常: " + e.getMessage());
throw e;
}
}
}
public static class TargetClass {
private String privateMethod(String input) {
System.out.println("执行私有方法,输入参数: " + input);
return "处理结果: " + input.toUpperCase();
}
public void publicMethod() {
String result = privateMethod("test input");
System.out.println("公有方法得到的结果: " + result);
}
}
}
`
jvm parameter
jdk-17.0.7/bin/java -agentlib jdwp=transport=dt_socket,address=127.0.0.1 52923,suspend=y,server=n -javaagent /idea/idea-IU-243.26053.27/plugins/java/lib/rt/debugger-agent.jar -Dkotlinx.coroutines.debug.enable.creation.stack.trace=false -Ddebugger.agent.enable.coroutines=true -Dkotlinx.coroutines.debug.enable.flows.stack.trace=true -Dkotlinx.coroutines.debug.enable.mutable.state.flows.stack.trace=true -Dfile.encoding=UTF-8 -classpath ./target/test-classes ./target/classes /mysql/mysql-connector-java/8.0.28/mysql-connector-java-8.0.28.jar /com/google/protobuf/protobuf-java/3.24.4/protobuf-java-3.24.4.jar /org/mybatis/spring/boot/mybatis-spring-boot-starter/3.0.3/mybatis-spring-boot-starter-3.0.3.jar /org/springframework/boot/spring-boot-starter-jdbc/3.2.0/spring-boot-starter-jdbc-3.2.0.jar /org/springframework/spring-jdbc/6.1.1/spring-jdbc-6.1.1.jar /org/springframework/spring-tx/6.1.1/spring-tx-6.1.1.jar /org/mybatis/spring/boot/mybatis-spring-boot-autoconfigure/3.0.3/mybatis-spring-boot-autoconfigure-3.0.3.jar /org/mybatis/mybatis/3.5.14/mybatis-3.5.14.jar /org/mybatis/mybatis-spring/3.0.3/mybatis-spring-3.0.3.jar /com/github/pagehelper/pagehelper-spring-boot-starter/2.0.0/pagehelper-spring-boot-starter-2.0.0.jar /com/github/pagehelper/pagehelper-spring-boot-autoconfigure/2.0.0/pagehelper-spring-boot-autoconfigure-2.0.0.jar /com/github/pagehelper/pagehelper/6.0.0/pagehelper-6.0.0.jar /com/github/jsqlparser/jsqlparser/4.5/jsqlparser-4.5.jar /com/alibaba/druid-spring-boot-starter/1.2.20/druid-spring-boot-starter-1.2.20.jar /com/alibaba/druid/1.2.20/druid-1.2.20.jar /org/glassfish/jaxb/jaxb-runtime/2.3.2/jaxb-runtime-2.3.2.jar /jakarta/xml/bind/jakarta.xml.bind-api/2.3.2/jakarta.xml.bind-api-2.3.2.jar /org/glassfish/jaxb/txw2/2.3.2/txw2-2.3.2.jar /com/sun/istack/istack-commons-runtime/3.0.8/istack-commons-runtime-3.0.8.jar /org/jvnet/staxex/stax-ex/1.8.1/stax-ex-1.8.1.jar /com/sun/xml/fastinfoset/FastInfoset/1.2.16/FastInfoset-1.2.16.jar /jakarta/activation/jakarta.activation-api/1.2.1/jakarta.activation-api-1.2.1.jar /org/apache/dubbo/dubbo-registry-api/3.2.7/dubbo-registry-api-3.2.7.jar /org/apache/dubbo/dubbo-common/3.2.7/dubbo-common-3.2.7.jar /org/javassist/javassist/3.29.2-GA/javassist-3.29.2-GA.jar /commons-io/commons-io/2.11.0/commons-io-2.11.0.jar /javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar /org/apache/dubbo/dubbo-cluster/3.2.7/dubbo-cluster-3.2.7.jar /org/apache/dubbo/dubbo-rpc-api/3.2.7/dubbo-rpc-api-3.2.7.jar /org/apache/dubbo/dubbo-serialization-api/3.2.7/dubbo-serialization-api-3.2.7.jar /org/apache/dubbo/dubbo-remoting-api/3.2.7/dubbo-remoting-api-3.2.7.jar /org/apache/dubbo/dubbo-container-api/3.2.7/dubbo-container-api-3.2.7.jar /org/apache/dubbo/dubbo-metadata-api/3.2.7/dubbo-metadata-api-3.2.7.jar /org/apache/dubbo/dubbo-metrics-api/3.2.7/dubbo-metrics-api-3.2.7.jar /io/micrometer/micrometer-core/1.11.4/micrometer-core-1.11.4.jar /org/hdrhistogram/HdrHistogram/2.1.12/HdrHistogram-2.1.12.jar /org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.jar /com/tdunning/t-digest/3.3/t-digest-3.3.jar /org/apache/dubbo/dubbo-metrics-default/3.2.7/dubbo-metrics-default-3.2.7.jar /org/apache/dubbo/dubbo-metrics-metadata/3.2.7/dubbo-metrics-metadata-3.2.7.jar /org/apache/dubbo/dubbo-metrics-registry/3.2.7/dubbo-metrics-registry-3.2.7.jar /org/apache/dubbo/dubbo-registry-nacos/3.2.7/dubbo-registry-nacos-3.2.7.jar /com/alibaba/nacos/nacos-client/2.2.4/nacos-client-2.2.4.jar /com/alibaba/nacos/nacos-auth-plugin/2.2.4/nacos-auth-plugin-2.2.4.jar /com/alibaba/nacos/nacos-encryption-plugin/2.2.4/nacos-encryption-plugin-2.2.4.jar /org/apache/httpcomponents/httpasyncclient/4.1.3/httpasyncclient-4.1.3.jar /org/apache/httpcomponents/httpcore-nio/4.4.6/httpcore-nio-4.4.6.jar /io/prometheus/simpleclient/0.12.0/simpleclient-0.12.0.jar /io/prometheus/simpleclient_tracer_otel/0.12.0/simpleclient_tracer_otel-0.12.0.jar /io/prometheus/simpleclient_tracer_common/0.12.0/simpleclient_tracer_common-0.12.0.jar /io/prometheus/simpleclient_tracer_otel_agent/0.12.0/simpleclient_tracer_otel_agent-0.12.0.jar /org/apache/dubbo/dubbo-spring-boot-starter/3.2.7/dubbo-spring-boot-starter-3.2.7.jar /org/apache/dubbo/dubbo-spring-boot-autoconfigure/3.2.7/dubbo-spring-boot-autoconfigure-3.2.7.jar /org/apache/dubbo/dubbo-spring-boot-autoconfigure-compatible/3.2.7/dubbo-spring-boot-autoconfigure-compatible-3.2.7.jar /org/apache/dubbo/dubbo/3.2.7/dubbo-3.2.7.jar /com/alibaba/spring/spring-context-support/1.0.11/spring-context-support-1.0.11.jar /com/alibaba/hessian-lite/3.2.13/hessian-lite-3.2.13.jar /org/apache/httpcomponents/httpclient/4.5.14/httpclient-4.5.14.jar /org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar /commons-logging/commons-logging/1.2/commons-logging-1.2.jar /commons-codec/commons-codec/1.15/commons-codec-1.15.jar /org/springframework/boot/spring-boot-actuator/3.5.12/spring-boot-actuator-3.5.12.jar /org/springframework/boot/spring-boot/3.5.12/spring-boot-3.5.12.jar /org/springframework/spring-context/6.2.17/spring-context-6.2.17.jar /org/springframework/boot/spring-boot-starter/3.5.12/spring-boot-starter-3.5.12.jar /org/springframework/boot/spring-boot-autoconfigure/3.5.12/spring-boot-autoconfigure-3.5.12.jar /org/springframework/boot/spring-boot-starter-logging/3.5.12/spring-boot-starter-logging-3.5.12.jar /org/apache/logging/log4j/log4j-to-slf4j/2.24.3/log4j-to-slf4j-2.24.3.jar /org/apache/logging/log4j/log4j-api/2.24.3/log4j-api-2.24.3.jar /org/slf4j/jul-to-slf4j/2.0.17/jul-to-slf4j-2.0.17.jar /jakarta/annotation/jakarta.annotation-api/2.1.1/jakarta.annotation-api-2.1.1.jar /org/springframework/spring-core/6.2.17/spring-core-6.2.17.jar /org/springframework/spring-jcl/6.2.17/spring-jcl-6.2.17.jar /org/yaml/snakeyaml/2.2/snakeyaml-2.2.jar /com/fasterxml/jackson/core/jackson-core/2.21.2/jackson-core-2.21.2.jar /com/fasterxml/jackson/core/jackson-databind/2.21.2/jackson-databind-2.21.2.jar /com/fasterxml/jackson/core/jackson-annotations/2.21/jackson-annotations-2.21.jar /io/micrometer/micrometer-observation/1.15.10/micrometer-observation-1.15.10.jar /io/micrometer/micrometer-commons/1.15.10/micrometer-commons-1.15.10.jar /com/alibaba/fastjson2/fastjson2/2.0.60/fastjson2-2.0.60.jar /org/mapstruct/mapstruct/1.5.3.Final/mapstruct-1.5.3.Final.jar /org/mapstruct/mapstruct-processor/1.5.3.Final/mapstruct-processor-1.5.3.Final.jar /org/projectlombok/lombok-mapstruct-binding/0.2.0/lombok-mapstruct-binding-0.2.0.jar /javax/validation/validation-api/2.0.0.Final/validation-api-2.0.0.Final.jar /jakarta/validation/jakarta.validation-api/3.0.2/jakarta.validation-api-3.0.2.jar /org/hibernate/validator/hibernate-validator/8.0.1.Final/hibernate-validator-8.0.1.Final.jar /org/jboss/logging/jboss-logging/3.4.3.Final/jboss-logging-3.4.3.Final.jar /com/fasterxml/classmate/1.5.1/classmate-1.5.1.jar /org/glassfish/expressly/expressly/5.0.0/expressly-5.0.0.jar /jakarta/el/jakarta.el-api/5.0.0/jakarta.el-api-5.0.0.jar /ch/qos/logback/logback-classic/1.5.32/logback-classic-1.5.32.jar /ch/qos/logback/access/logback-access-common/2.0.6/logback-access-common-2.0.6.jar /ch/qos/logback/logback-core/1.5.32/logback-core-1.5.32.jar /org/slf4j/jcl-over-slf4j/2.0.17/jcl-over-slf4j-2.0.17.jar /org/slf4j/slf4j-api/2.0.17/slf4j-api-2.0.17.jar /org/springframework/boot/spring-boot-starter-web/3.5.12/spring-boot-starter-web-3.5.12.jar /org/springframework/boot/spring-boot-starter-json/3.5.12/spring-boot-starter-json-3.5.12.jar /com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.19.4/jackson-datatype-jdk8-2.19.4.jar /com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.19.4/jackson-datatype-jsr310-2.19.4.jar /com/fasterxml/jackson/module/jackson-module-parameter-names/2.19.4/jackson-module-parameter-names-2.19.4.jar /org/springframework/boot/spring-boot-starter-tomcat/3.5.12/spring-boot-starter-tomcat-3.5.12.jar /org/apache/tomcat/embed/tomcat-embed-core/10.1.52/tomcat-embed-core-10.1.52.jar /org/apache/tomcat/embed/tomcat-embed-el/10.1.52/tomcat-embed-el-10.1.52.jar /org/apache/tomcat/embed/tomcat-embed-websocket/10.1.52/tomcat-embed-websocket-10.1.52.jar /org/springframework/spring-web/6.2.17/spring-web-6.2.17.jar /org/springframework/spring-beans/6.2.17/spring-beans-6.2.17.jar /org/springframework/spring-webmvc/6.2.17/spring-webmvc-6.2.17.jar /org/springframework/spring-aop/6.2.17/spring-aop-6.2.17.jar /org/springframework/spring-expression/6.2.17/spring-expression-6.2.17.jar /org/mockito/mockito-junit-jupiter/5.23.0/mockito-junit-jupiter-5.23.0.jar /org/mockito/mockito-core/5.23.0/mockito-core-5.23.0.jar /net/bytebuddy/byte-buddy/1.17.7/byte-buddy-1.17.7.jar /net/bytebuddy/byte-buddy-agent/1.17.7/byte-buddy-agent-1.17.7.jar /org/objenesis/objenesis/3.3/objenesis-3.3.jar /org/junit/jupiter/junit-jupiter-api/5.14.3/junit-jupiter-api-5.14.3.jar /org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar /org/junit/platform/junit-platform-commons/1.14.3/junit-platform-commons-1.14.3.jar /org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar /org/junit/vintage/junit-vintage-engine/5.14.3/junit-vintage-engine-5.14.3.jar /org/junit/platform/junit-platform-engine/1.14.3/junit-platform-engine-1.14.3.jar /junit/junit/4.13.2/junit-4.13.2.jar /org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar /com/h2database/h2/2.4.240/h2-2.4.240.jar /com/alibaba/fastjson/2.0.42/fastjson-2.0.42.jar /com/alibaba/fastjson2/fastjson2-extension/2.0.42/fastjson2-extension-2.0.42.jar /jakarta/servlet/jakarta.servlet-api/6.0.0/jakarta.servlet-api-6.0.0.jar /javax/servlet/javax.servlet-api/4.0.1/javax.servlet-api-4.0.1.jar /org/apache/commons/commons-lang3/3.20.0/commons-lang3-3.20.0.jar /leaning/space-work/china-lamp/decoration/foundation/foundation-api/target/classes /io/netty/netty-all/4.2.10.Final/netty-all-4.2.10.Final.jar /io/netty/netty-buffer/4.2.10.Final/netty-buffer-4.2.10.Final.jar /io/netty/netty-codec-base/4.2.10.Final/netty-codec-base-4.2.10.Final.jar /io/netty/netty-codec/4.2.10.Final/netty-codec-4.2.10.Final.jar /io/netty/netty-codec-dns/4.2.10.Final/netty-codec-dns-4.2.10.Final.jar /io/netty/netty-codec-haproxy/4.2.10.Final/netty-codec-haproxy-4.2.10.Final.jar /io/netty/netty-codec-compression/4.2.10.Final/netty-codec-compression-4.2.10.Final.jar /io/netty/netty-codec-http/4.2.10.Final/netty-codec-http-4.2.10.Final.jar /io/netty/netty-codec-http2/4.2.10.Final/netty-codec-http2-4.2.10.Final.jar /io/netty/netty-codec-http3/4.2.10.Final/netty-codec-http3-4.2.10.Final.jar /org/jctools/jctools-core/4.0.5/jctools-core-4.0.5.jar /io/netty/netty-transport-native-unix-common/4.2.10.Final/netty-transport-native-unix-common-4.2.10.Final.jar /io/netty/netty-codec-memcache/4.2.10.Final/netty-codec-memcache-4.2.10.Final.jar /io/netty/netty-codec-mqtt/4.2.10.Final/netty-codec-mqtt-4.2.10.Final.jar /io/netty/netty-codec-redis/4.2.10.Final/netty-codec-redis-4.2.10.Final.jar /io/netty/netty-codec-smtp/4.2.10.Final/netty-codec-smtp-4.2.10.Final.jar /io/netty/netty-codec-socks/4.2.10.Final/netty-codec-socks-4.2.10.Final.jar /io/netty/netty-codec-stomp/4.2.10.Final/netty-codec-stomp-4.2.10.Final.jar /io/netty/netty-codec-xml/4.2.10.Final/netty-codec-xml-4.2.10.Final.jar /io/netty/netty-codec-protobuf/4.2.10.Final/netty-codec-protobuf-4.2.10.Final.jar /io/netty/netty-codec-marshalling/4.2.10.Final/netty-codec-marshalling-4.2.10.Final.jar /io/netty/netty-common/4.2.10.Final/netty-common-4.2.10.Final.jar /io/netty/netty-handler/4.2.10.Final/netty-handler-4.2.10.Final.jar /io/netty/netty-handler-proxy/4.2.10.Final/netty-handler-proxy-4.2.10.Final.jar /io/netty/netty-handler-ssl-ocsp/4.2.10.Final/netty-handler-ssl-ocsp-4.2.10.Final.jar /io/netty/netty-resolver/4.2.10.Final/netty-resolver-4.2.10.Final.jar /io/netty/netty-resolver-dns/4.2.10.Final/netty-resolver-dns-4.2.10.Final.jar /io/netty/netty-transport/4.2.10.Final/netty-transport-4.2.10.Final.jar /io/netty/netty-transport-rxtx/4.2.10.Final/netty-transport-rxtx-4.2.10.Final.jar /io/netty/netty-transport-sctp/4.2.10.Final/netty-transport-sctp-4.2.10.Final.jar /io/netty/netty-transport-udt/4.2.10.Final/netty-transport-udt-4.2.10.Final.jar /io/netty/netty-transport-classes-epoll/4.2.10.Final/netty-transport-classes-epoll-4.2.10.Final.jar /io/netty/netty-transport-classes-kqueue/4.2.10.Final/netty-transport-classes-kqueue-4.2.10.Final.jar /io/netty/netty-resolver-dns-classes-macos/4.2.10.Final/netty-resolver-dns-classes-macos-4.2.10.Final.jar /io/netty/netty-transport-classes-io_uring/4.2.10.Final/netty-transport-classes-io_uring-4.2.10.Final.jar /io/netty/netty-codec-classes-quic/4.2.10.Final/netty-codec-classes-quic-4.2.10.Final.jar /io/netty/netty-transport-native-epoll/4.2.10.Final/netty-transport-native-epoll-4.2.10.Final-linux-x86_64.jar /io/netty/netty-transport-native-epoll/4.2.10.Final/netty-transport-native-epoll-4.2.10.Final-linux-aarch_64.jar /io/netty/netty-transport-native-epoll/4.2.10.Final/netty-transport-native-epoll-4.2.10.Final-linux-riscv64.jar /io/netty/netty-transport-native-io_uring/4.2.10.Final/netty-transport-native-io_uring-4.2.10.Final-linux-x86_64.jar /io/netty/netty-transport-native-io_uring/4.2.10.Final/netty-transport-native-io_uring-4.2.10.Final-linux-aarch_64.jar /io/netty/netty-transport-native-io_uring/4.2.10.Final/netty-transport-native-io_uring-4.2.10.Final-linux-riscv64.jar /io/netty/netty-transport-native-kqueue/4.2.10.Final/netty-transport-native-kqueue-4.2.10.Final-osx-x86_64.jar /io/netty/netty-transport-native-kqueue/4.2.10.Final/netty-transport-native-kqueue-4.2.10.Final-osx-aarch_64.jar /io/netty/netty-resolver-dns-native-macos/4.2.10.Final/netty-resolver-dns-native-macos-4.2.10.Final-osx-x86_64.jar /io/netty/netty-resolver-dns-native-macos/4.2.10.Final/netty-resolver-dns-native-macos-4.2.10.Final-osx-aarch_64.jar /io/netty/netty-codec-native-quic/4.2.10.Final/netty-codec-native-quic-4.2.10.Final-linux-x86_64.jar /io/netty/netty-codec-native-quic/4.2.10.Final/netty-codec-native-quic-4.2.10.Final-linux-aarch_64.jar /io/netty/netty-codec-native-quic/4.2.10.Final/netty-codec-native-quic-4.2.10.Final-osx-x86_64.jar /io/netty/netty-codec-native-quic/4.2.10.Final/netty-codec-native-quic-4.2.10.Final-osx-aarch_64.jar /io/netty/netty-codec-native-quic/4.2.10.Final/netty-codec-native-quic-4.2.10.Final-windows-x86_64.jar /idea/idea-IU-243.26053.27/lib/idea_rt.jar com.PrivateMethodInterceptor
error
Exception in thread "main" java.lang.UnsupportedOperationException: class redefinition failed: attempted to change the schema (add/remove fields) at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native Method) at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:169) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at net.bytebuddy.utility.Invoker$Dispatcher.invoke(Unknown Source) at net.bytebuddy.utility.dispatcher.JavaDispatcher$Dispatcher$ForNonStaticMethod.invoke(JavaDispatcher.java:1033) at net.bytebuddy.utility.dispatcher.JavaDispatcher$ProxiedInvocationHandler.invoke(JavaDispatcher.java:1163) at net.bytebuddy.dynamic.loading.$Proxy22.retransformClasses(Unknown Source) at net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Strategy$2.apply(ClassReloadingStrategy.java:399) at net.bytebuddy.dynamic.loading.ClassReloadingStrategy.load(ClassReloadingStrategy.java:227) at net.bytebuddy.dynamic.TypeResolutionStrategy$Passive.initialize(TypeResolutionStrategy.java:101) at net.bytebuddy.dynamic.DynamicType$Default$Unloaded.load(DynamicType.java:6432)
code
`
import net.bytebuddy.ByteBuddy;
import net.bytebuddy.agent.ByteBuddyAgent;
import net.bytebuddy.dynamic.loading.ClassReloadingStrategy;
import net.bytebuddy.implementation.MethodDelegation;
import net.bytebuddy.implementation.bind.annotation.AllArguments;
import net.bytebuddy.implementation.bind.annotation.Origin;
import net.bytebuddy.implementation.bind.annotation.RuntimeType;
import net.bytebuddy.implementation.bind.annotation.This;
import net.bytebuddy.matcher.ElementMatchers;
import java.lang.reflect.Method;
import java.util.concurrent.Callable;
public class PrivateMethodInterceptor {
}
`
jvm parameter
jdk-17.0.7/bin/java -agentlib jdwp=transport=dt_socket,address=127.0.0.1 52923,suspend=y,server=n -javaagent /idea/idea-IU-243.26053.27/plugins/java/lib/rt/debugger-agent.jar -Dkotlinx.coroutines.debug.enable.creation.stack.trace=false -Ddebugger.agent.enable.coroutines=true -Dkotlinx.coroutines.debug.enable.flows.stack.trace=true -Dkotlinx.coroutines.debug.enable.mutable.state.flows.stack.trace=true -Dfile.encoding=UTF-8 -classpath ./target/test-classes ./target/classes /mysql/mysql-connector-java/8.0.28/mysql-connector-java-8.0.28.jar /com/google/protobuf/protobuf-java/3.24.4/protobuf-java-3.24.4.jar /org/mybatis/spring/boot/mybatis-spring-boot-starter/3.0.3/mybatis-spring-boot-starter-3.0.3.jar /org/springframework/boot/spring-boot-starter-jdbc/3.2.0/spring-boot-starter-jdbc-3.2.0.jar /org/springframework/spring-jdbc/6.1.1/spring-jdbc-6.1.1.jar /org/springframework/spring-tx/6.1.1/spring-tx-6.1.1.jar /org/mybatis/spring/boot/mybatis-spring-boot-autoconfigure/3.0.3/mybatis-spring-boot-autoconfigure-3.0.3.jar /org/mybatis/mybatis/3.5.14/mybatis-3.5.14.jar /org/mybatis/mybatis-spring/3.0.3/mybatis-spring-3.0.3.jar /com/github/pagehelper/pagehelper-spring-boot-starter/2.0.0/pagehelper-spring-boot-starter-2.0.0.jar /com/github/pagehelper/pagehelper-spring-boot-autoconfigure/2.0.0/pagehelper-spring-boot-autoconfigure-2.0.0.jar /com/github/pagehelper/pagehelper/6.0.0/pagehelper-6.0.0.jar /com/github/jsqlparser/jsqlparser/4.5/jsqlparser-4.5.jar /com/alibaba/druid-spring-boot-starter/1.2.20/druid-spring-boot-starter-1.2.20.jar /com/alibaba/druid/1.2.20/druid-1.2.20.jar /org/glassfish/jaxb/jaxb-runtime/2.3.2/jaxb-runtime-2.3.2.jar /jakarta/xml/bind/jakarta.xml.bind-api/2.3.2/jakarta.xml.bind-api-2.3.2.jar /org/glassfish/jaxb/txw2/2.3.2/txw2-2.3.2.jar /com/sun/istack/istack-commons-runtime/3.0.8/istack-commons-runtime-3.0.8.jar /org/jvnet/staxex/stax-ex/1.8.1/stax-ex-1.8.1.jar /com/sun/xml/fastinfoset/FastInfoset/1.2.16/FastInfoset-1.2.16.jar /jakarta/activation/jakarta.activation-api/1.2.1/jakarta.activation-api-1.2.1.jar /org/apache/dubbo/dubbo-registry-api/3.2.7/dubbo-registry-api-3.2.7.jar /org/apache/dubbo/dubbo-common/3.2.7/dubbo-common-3.2.7.jar /org/javassist/javassist/3.29.2-GA/javassist-3.29.2-GA.jar /commons-io/commons-io/2.11.0/commons-io-2.11.0.jar /javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar /org/apache/dubbo/dubbo-cluster/3.2.7/dubbo-cluster-3.2.7.jar /org/apache/dubbo/dubbo-rpc-api/3.2.7/dubbo-rpc-api-3.2.7.jar /org/apache/dubbo/dubbo-serialization-api/3.2.7/dubbo-serialization-api-3.2.7.jar /org/apache/dubbo/dubbo-remoting-api/3.2.7/dubbo-remoting-api-3.2.7.jar /org/apache/dubbo/dubbo-container-api/3.2.7/dubbo-container-api-3.2.7.jar /org/apache/dubbo/dubbo-metadata-api/3.2.7/dubbo-metadata-api-3.2.7.jar /org/apache/dubbo/dubbo-metrics-api/3.2.7/dubbo-metrics-api-3.2.7.jar /io/micrometer/micrometer-core/1.11.4/micrometer-core-1.11.4.jar /org/hdrhistogram/HdrHistogram/2.1.12/HdrHistogram-2.1.12.jar /org/latencyutils/LatencyUtils/2.0.3/LatencyUtils-2.0.3.jar /com/tdunning/t-digest/3.3/t-digest-3.3.jar /org/apache/dubbo/dubbo-metrics-default/3.2.7/dubbo-metrics-default-3.2.7.jar /org/apache/dubbo/dubbo-metrics-metadata/3.2.7/dubbo-metrics-metadata-3.2.7.jar /org/apache/dubbo/dubbo-metrics-registry/3.2.7/dubbo-metrics-registry-3.2.7.jar /org/apache/dubbo/dubbo-registry-nacos/3.2.7/dubbo-registry-nacos-3.2.7.jar /com/alibaba/nacos/nacos-client/2.2.4/nacos-client-2.2.4.jar /com/alibaba/nacos/nacos-auth-plugin/2.2.4/nacos-auth-plugin-2.2.4.jar /com/alibaba/nacos/nacos-encryption-plugin/2.2.4/nacos-encryption-plugin-2.2.4.jar /org/apache/httpcomponents/httpasyncclient/4.1.3/httpasyncclient-4.1.3.jar /org/apache/httpcomponents/httpcore-nio/4.4.6/httpcore-nio-4.4.6.jar /io/prometheus/simpleclient/0.12.0/simpleclient-0.12.0.jar /io/prometheus/simpleclient_tracer_otel/0.12.0/simpleclient_tracer_otel-0.12.0.jar /io/prometheus/simpleclient_tracer_common/0.12.0/simpleclient_tracer_common-0.12.0.jar /io/prometheus/simpleclient_tracer_otel_agent/0.12.0/simpleclient_tracer_otel_agent-0.12.0.jar /org/apache/dubbo/dubbo-spring-boot-starter/3.2.7/dubbo-spring-boot-starter-3.2.7.jar /org/apache/dubbo/dubbo-spring-boot-autoconfigure/3.2.7/dubbo-spring-boot-autoconfigure-3.2.7.jar /org/apache/dubbo/dubbo-spring-boot-autoconfigure-compatible/3.2.7/dubbo-spring-boot-autoconfigure-compatible-3.2.7.jar /org/apache/dubbo/dubbo/3.2.7/dubbo-3.2.7.jar /com/alibaba/spring/spring-context-support/1.0.11/spring-context-support-1.0.11.jar /com/alibaba/hessian-lite/3.2.13/hessian-lite-3.2.13.jar /org/apache/httpcomponents/httpclient/4.5.14/httpclient-4.5.14.jar /org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar /commons-logging/commons-logging/1.2/commons-logging-1.2.jar /commons-codec/commons-codec/1.15/commons-codec-1.15.jar /org/springframework/boot/spring-boot-actuator/3.5.12/spring-boot-actuator-3.5.12.jar /org/springframework/boot/spring-boot/3.5.12/spring-boot-3.5.12.jar /org/springframework/spring-context/6.2.17/spring-context-6.2.17.jar /org/springframework/boot/spring-boot-starter/3.5.12/spring-boot-starter-3.5.12.jar /org/springframework/boot/spring-boot-autoconfigure/3.5.12/spring-boot-autoconfigure-3.5.12.jar /org/springframework/boot/spring-boot-starter-logging/3.5.12/spring-boot-starter-logging-3.5.12.jar /org/apache/logging/log4j/log4j-to-slf4j/2.24.3/log4j-to-slf4j-2.24.3.jar /org/apache/logging/log4j/log4j-api/2.24.3/log4j-api-2.24.3.jar /org/slf4j/jul-to-slf4j/2.0.17/jul-to-slf4j-2.0.17.jar /jakarta/annotation/jakarta.annotation-api/2.1.1/jakarta.annotation-api-2.1.1.jar /org/springframework/spring-core/6.2.17/spring-core-6.2.17.jar /org/springframework/spring-jcl/6.2.17/spring-jcl-6.2.17.jar /org/yaml/snakeyaml/2.2/snakeyaml-2.2.jar /com/fasterxml/jackson/core/jackson-core/2.21.2/jackson-core-2.21.2.jar /com/fasterxml/jackson/core/jackson-databind/2.21.2/jackson-databind-2.21.2.jar /com/fasterxml/jackson/core/jackson-annotations/2.21/jackson-annotations-2.21.jar /io/micrometer/micrometer-observation/1.15.10/micrometer-observation-1.15.10.jar /io/micrometer/micrometer-commons/1.15.10/micrometer-commons-1.15.10.jar /com/alibaba/fastjson2/fastjson2/2.0.60/fastjson2-2.0.60.jar /org/mapstruct/mapstruct/1.5.3.Final/mapstruct-1.5.3.Final.jar /org/mapstruct/mapstruct-processor/1.5.3.Final/mapstruct-processor-1.5.3.Final.jar /org/projectlombok/lombok-mapstruct-binding/0.2.0/lombok-mapstruct-binding-0.2.0.jar /javax/validation/validation-api/2.0.0.Final/validation-api-2.0.0.Final.jar /jakarta/validation/jakarta.validation-api/3.0.2/jakarta.validation-api-3.0.2.jar /org/hibernate/validator/hibernate-validator/8.0.1.Final/hibernate-validator-8.0.1.Final.jar /org/jboss/logging/jboss-logging/3.4.3.Final/jboss-logging-3.4.3.Final.jar /com/fasterxml/classmate/1.5.1/classmate-1.5.1.jar /org/glassfish/expressly/expressly/5.0.0/expressly-5.0.0.jar /jakarta/el/jakarta.el-api/5.0.0/jakarta.el-api-5.0.0.jar /ch/qos/logback/logback-classic/1.5.32/logback-classic-1.5.32.jar /ch/qos/logback/access/logback-access-common/2.0.6/logback-access-common-2.0.6.jar /ch/qos/logback/logback-core/1.5.32/logback-core-1.5.32.jar /org/slf4j/jcl-over-slf4j/2.0.17/jcl-over-slf4j-2.0.17.jar /org/slf4j/slf4j-api/2.0.17/slf4j-api-2.0.17.jar /org/springframework/boot/spring-boot-starter-web/3.5.12/spring-boot-starter-web-3.5.12.jar /org/springframework/boot/spring-boot-starter-json/3.5.12/spring-boot-starter-json-3.5.12.jar /com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.19.4/jackson-datatype-jdk8-2.19.4.jar /com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.19.4/jackson-datatype-jsr310-2.19.4.jar /com/fasterxml/jackson/module/jackson-module-parameter-names/2.19.4/jackson-module-parameter-names-2.19.4.jar /org/springframework/boot/spring-boot-starter-tomcat/3.5.12/spring-boot-starter-tomcat-3.5.12.jar /org/apache/tomcat/embed/tomcat-embed-core/10.1.52/tomcat-embed-core-10.1.52.jar /org/apache/tomcat/embed/tomcat-embed-el/10.1.52/tomcat-embed-el-10.1.52.jar /org/apache/tomcat/embed/tomcat-embed-websocket/10.1.52/tomcat-embed-websocket-10.1.52.jar /org/springframework/spring-web/6.2.17/spring-web-6.2.17.jar /org/springframework/spring-beans/6.2.17/spring-beans-6.2.17.jar /org/springframework/spring-webmvc/6.2.17/spring-webmvc-6.2.17.jar /org/springframework/spring-aop/6.2.17/spring-aop-6.2.17.jar /org/springframework/spring-expression/6.2.17/spring-expression-6.2.17.jar /org/mockito/mockito-junit-jupiter/5.23.0/mockito-junit-jupiter-5.23.0.jar /org/mockito/mockito-core/5.23.0/mockito-core-5.23.0.jar /net/bytebuddy/byte-buddy/1.17.7/byte-buddy-1.17.7.jar /net/bytebuddy/byte-buddy-agent/1.17.7/byte-buddy-agent-1.17.7.jar /org/objenesis/objenesis/3.3/objenesis-3.3.jar /org/junit/jupiter/junit-jupiter-api/5.14.3/junit-jupiter-api-5.14.3.jar /org/opentest4j/opentest4j/1.3.0/opentest4j-1.3.0.jar /org/junit/platform/junit-platform-commons/1.14.3/junit-platform-commons-1.14.3.jar /org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar /org/junit/vintage/junit-vintage-engine/5.14.3/junit-vintage-engine-5.14.3.jar /org/junit/platform/junit-platform-engine/1.14.3/junit-platform-engine-1.14.3.jar /junit/junit/4.13.2/junit-4.13.2.jar /org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar /com/h2database/h2/2.4.240/h2-2.4.240.jar /com/alibaba/fastjson/2.0.42/fastjson-2.0.42.jar /com/alibaba/fastjson2/fastjson2-extension/2.0.42/fastjson2-extension-2.0.42.jar /jakarta/servlet/jakarta.servlet-api/6.0.0/jakarta.servlet-api-6.0.0.jar /javax/servlet/javax.servlet-api/4.0.1/javax.servlet-api-4.0.1.jar /org/apache/commons/commons-lang3/3.20.0/commons-lang3-3.20.0.jar /leaning/space-work/china-lamp/decoration/foundation/foundation-api/target/classes /io/netty/netty-all/4.2.10.Final/netty-all-4.2.10.Final.jar /io/netty/netty-buffer/4.2.10.Final/netty-buffer-4.2.10.Final.jar /io/netty/netty-codec-base/4.2.10.Final/netty-codec-base-4.2.10.Final.jar /io/netty/netty-codec/4.2.10.Final/netty-codec-4.2.10.Final.jar /io/netty/netty-codec-dns/4.2.10.Final/netty-codec-dns-4.2.10.Final.jar /io/netty/netty-codec-haproxy/4.2.10.Final/netty-codec-haproxy-4.2.10.Final.jar /io/netty/netty-codec-compression/4.2.10.Final/netty-codec-compression-4.2.10.Final.jar /io/netty/netty-codec-http/4.2.10.Final/netty-codec-http-4.2.10.Final.jar /io/netty/netty-codec-http2/4.2.10.Final/netty-codec-http2-4.2.10.Final.jar /io/netty/netty-codec-http3/4.2.10.Final/netty-codec-http3-4.2.10.Final.jar /org/jctools/jctools-core/4.0.5/jctools-core-4.0.5.jar /io/netty/netty-transport-native-unix-common/4.2.10.Final/netty-transport-native-unix-common-4.2.10.Final.jar /io/netty/netty-codec-memcache/4.2.10.Final/netty-codec-memcache-4.2.10.Final.jar /io/netty/netty-codec-mqtt/4.2.10.Final/netty-codec-mqtt-4.2.10.Final.jar /io/netty/netty-codec-redis/4.2.10.Final/netty-codec-redis-4.2.10.Final.jar /io/netty/netty-codec-smtp/4.2.10.Final/netty-codec-smtp-4.2.10.Final.jar /io/netty/netty-codec-socks/4.2.10.Final/netty-codec-socks-4.2.10.Final.jar /io/netty/netty-codec-stomp/4.2.10.Final/netty-codec-stomp-4.2.10.Final.jar /io/netty/netty-codec-xml/4.2.10.Final/netty-codec-xml-4.2.10.Final.jar /io/netty/netty-codec-protobuf/4.2.10.Final/netty-codec-protobuf-4.2.10.Final.jar /io/netty/netty-codec-marshalling/4.2.10.Final/netty-codec-marshalling-4.2.10.Final.jar /io/netty/netty-common/4.2.10.Final/netty-common-4.2.10.Final.jar /io/netty/netty-handler/4.2.10.Final/netty-handler-4.2.10.Final.jar /io/netty/netty-handler-proxy/4.2.10.Final/netty-handler-proxy-4.2.10.Final.jar /io/netty/netty-handler-ssl-ocsp/4.2.10.Final/netty-handler-ssl-ocsp-4.2.10.Final.jar /io/netty/netty-resolver/4.2.10.Final/netty-resolver-4.2.10.Final.jar /io/netty/netty-resolver-dns/4.2.10.Final/netty-resolver-dns-4.2.10.Final.jar /io/netty/netty-transport/4.2.10.Final/netty-transport-4.2.10.Final.jar /io/netty/netty-transport-rxtx/4.2.10.Final/netty-transport-rxtx-4.2.10.Final.jar /io/netty/netty-transport-sctp/4.2.10.Final/netty-transport-sctp-4.2.10.Final.jar /io/netty/netty-transport-udt/4.2.10.Final/netty-transport-udt-4.2.10.Final.jar /io/netty/netty-transport-classes-epoll/4.2.10.Final/netty-transport-classes-epoll-4.2.10.Final.jar /io/netty/netty-transport-classes-kqueue/4.2.10.Final/netty-transport-classes-kqueue-4.2.10.Final.jar /io/netty/netty-resolver-dns-classes-macos/4.2.10.Final/netty-resolver-dns-classes-macos-4.2.10.Final.jar /io/netty/netty-transport-classes-io_uring/4.2.10.Final/netty-transport-classes-io_uring-4.2.10.Final.jar /io/netty/netty-codec-classes-quic/4.2.10.Final/netty-codec-classes-quic-4.2.10.Final.jar /io/netty/netty-transport-native-epoll/4.2.10.Final/netty-transport-native-epoll-4.2.10.Final-linux-x86_64.jar /io/netty/netty-transport-native-epoll/4.2.10.Final/netty-transport-native-epoll-4.2.10.Final-linux-aarch_64.jar /io/netty/netty-transport-native-epoll/4.2.10.Final/netty-transport-native-epoll-4.2.10.Final-linux-riscv64.jar /io/netty/netty-transport-native-io_uring/4.2.10.Final/netty-transport-native-io_uring-4.2.10.Final-linux-x86_64.jar /io/netty/netty-transport-native-io_uring/4.2.10.Final/netty-transport-native-io_uring-4.2.10.Final-linux-aarch_64.jar /io/netty/netty-transport-native-io_uring/4.2.10.Final/netty-transport-native-io_uring-4.2.10.Final-linux-riscv64.jar /io/netty/netty-transport-native-kqueue/4.2.10.Final/netty-transport-native-kqueue-4.2.10.Final-osx-x86_64.jar /io/netty/netty-transport-native-kqueue/4.2.10.Final/netty-transport-native-kqueue-4.2.10.Final-osx-aarch_64.jar /io/netty/netty-resolver-dns-native-macos/4.2.10.Final/netty-resolver-dns-native-macos-4.2.10.Final-osx-x86_64.jar /io/netty/netty-resolver-dns-native-macos/4.2.10.Final/netty-resolver-dns-native-macos-4.2.10.Final-osx-aarch_64.jar /io/netty/netty-codec-native-quic/4.2.10.Final/netty-codec-native-quic-4.2.10.Final-linux-x86_64.jar /io/netty/netty-codec-native-quic/4.2.10.Final/netty-codec-native-quic-4.2.10.Final-linux-aarch_64.jar /io/netty/netty-codec-native-quic/4.2.10.Final/netty-codec-native-quic-4.2.10.Final-osx-x86_64.jar /io/netty/netty-codec-native-quic/4.2.10.Final/netty-codec-native-quic-4.2.10.Final-osx-aarch_64.jar /io/netty/netty-codec-native-quic/4.2.10.Final/netty-codec-native-quic-4.2.10.Final-windows-x86_64.jar /idea/idea-IU-243.26053.27/lib/idea_rt.jar com.PrivateMethodInterceptorerror
Exception in thread "main" java.lang.UnsupportedOperationException: class redefinition failed: attempted to change the schema (add/remove fields) at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native Method) at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:169) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at net.bytebuddy.utility.Invoker$Dispatcher.invoke(Unknown Source) at net.bytebuddy.utility.dispatcher.JavaDispatcher$Dispatcher$ForNonStaticMethod.invoke(JavaDispatcher.java:1033) at net.bytebuddy.utility.dispatcher.JavaDispatcher$ProxiedInvocationHandler.invoke(JavaDispatcher.java:1163) at net.bytebuddy.dynamic.loading.$Proxy22.retransformClasses(Unknown Source) at net.bytebuddy.dynamic.loading.ClassReloadingStrategy$Strategy$2.apply(ClassReloadingStrategy.java:399) at net.bytebuddy.dynamic.loading.ClassReloadingStrategy.load(ClassReloadingStrategy.java:227) at net.bytebuddy.dynamic.TypeResolutionStrategy$Passive.initialize(TypeResolutionStrategy.java:101) at net.bytebuddy.dynamic.DynamicType$Default$Unloaded.load(DynamicType.java:6432)