diff --git a/apm-sniffer/apm-agent/pom.xml b/apm-sniffer/apm-agent/pom.xml
index 64d51bd078d5c951b63eebe96b80acf81b0978b0..897ea6d26500a57654396b7eb469640e34a257d0 100644
--- a/apm-sniffer/apm-agent/pom.xml
+++ b/apm-sniffer/apm-agent/pom.xml
@@ -35,6 +35,8 @@
UTF-8
org.apache.skywalking.apm.agent.SkyWalkingAgent
+ true
+ true
net.bytebuddy
${shade.package}.${shade.net.bytebuddy.source}
@@ -69,6 +71,8 @@
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
${premain.class}
+ ${can.redefine.classes}
+ ${can.retransform.classes}
diff --git a/apm-sniffer/apm-agent/src/main/java/org/apache/skywalking/apm/agent/SkyWalkingAgent.java b/apm-sniffer/apm-agent/src/main/java/org/apache/skywalking/apm/agent/SkyWalkingAgent.java
index 8b02e86cb8a8b47fc667fd5e6f03f330007928b0..8f5b439ddae7ad97a893ce2ce095e2e7461a4a8b 100644
--- a/apm-sniffer/apm-agent/src/main/java/org/apache/skywalking/apm/agent/SkyWalkingAgent.java
+++ b/apm-sniffer/apm-agent/src/main/java/org/apache/skywalking/apm/agent/SkyWalkingAgent.java
@@ -107,6 +107,7 @@ public class SkyWalkingAgent {
agentBuilder
.type(pluginFinder.buildMatch())
.transform(new Transformer(pluginFinder))
+ .with(AgentBuilder.RedefinitionStrategy.RETRANSFORMATION)
.with(new Listener())
.installOn(instrumentation);