diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/pom.xml b/apm-sniffer/apm-sdk-plugin/spring-plugins/pom.xml
index 71764b541275ee02ee4718d9b5a3f987327377fd..0aa9d4512c90e38fd232ae15f477d4766fe4dd00 100644
--- a/apm-sniffer/apm-sdk-plugin/spring-plugins/pom.xml
+++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/pom.xml
@@ -36,7 +36,6 @@
mvc-annotation-3.x-plugin
core-patch
mvc-annotation-commons
- spring-annotation-plugin
pom
diff --git a/apm-sniffer/optional-plugins/optional-spring-plugins/pom.xml b/apm-sniffer/optional-plugins/optional-spring-plugins/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e3b38f27cde75af9619f9c03d3bcd2024e351bc4
--- /dev/null
+++ b/apm-sniffer/optional-plugins/optional-spring-plugins/pom.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+ optional-plugins
+ org.apache.skywalking
+ 5.0.0-alpha
+
+ 4.0.0
+ pom
+
+ optional-spring-plugins
+
+ ${project.build.directory}/../../../../../packages/skywalking-agent/optional-plugins
+
+
+
+ spring-annotation-plugin
+
+
+
\ No newline at end of file
diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/spring-annotation-plugin/pom.xml b/apm-sniffer/optional-plugins/optional-spring-plugins/spring-annotation-plugin/pom.xml
similarity index 89%
rename from apm-sniffer/apm-sdk-plugin/spring-plugins/spring-annotation-plugin/pom.xml
rename to apm-sniffer/optional-plugins/optional-spring-plugins/spring-annotation-plugin/pom.xml
index df46249b98868634ab0859e7afd0c29999214525..03413fc0bc87fdc235a2a1a9caa103c69474c653 100644
--- a/apm-sniffer/apm-sdk-plugin/spring-plugins/spring-annotation-plugin/pom.xml
+++ b/apm-sniffer/optional-plugins/optional-spring-plugins/spring-annotation-plugin/pom.xml
@@ -21,18 +21,15 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- spring-plugins
+ optional-spring-plugins
org.apache.skywalking
5.0.0-alpha
4.0.0
+ jar
apm-spring-annotation-plugin
-
- ${agent.package.dest.dir}/optional-plugins
-
-
org.springframework
diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/AbstractSpringBeanInstrumentation.java b/apm-sniffer/optional-plugins/optional-spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/AbstractSpringBeanInstrumentation.java
similarity index 100%
rename from apm-sniffer/apm-sdk-plugin/spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/AbstractSpringBeanInstrumentation.java
rename to apm-sniffer/optional-plugins/optional-spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/AbstractSpringBeanInstrumentation.java
diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/SpringAnnotationInterceptor.java b/apm-sniffer/optional-plugins/optional-spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/SpringAnnotationInterceptor.java
similarity index 100%
rename from apm-sniffer/apm-sdk-plugin/spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/SpringAnnotationInterceptor.java
rename to apm-sniffer/optional-plugins/optional-spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/SpringAnnotationInterceptor.java
diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/bean/SpringBeanInstrumentation.java b/apm-sniffer/optional-plugins/optional-spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/bean/SpringBeanInstrumentation.java
similarity index 100%
rename from apm-sniffer/apm-sdk-plugin/spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/bean/SpringBeanInstrumentation.java
rename to apm-sniffer/optional-plugins/optional-spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/bean/SpringBeanInstrumentation.java
diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/component/SpringComponentInstrumentation.java b/apm-sniffer/optional-plugins/optional-spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/component/SpringComponentInstrumentation.java
similarity index 100%
rename from apm-sniffer/apm-sdk-plugin/spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/component/SpringComponentInstrumentation.java
rename to apm-sniffer/optional-plugins/optional-spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/component/SpringComponentInstrumentation.java
diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/repository/SpringRepositoryInstrumentation.java b/apm-sniffer/optional-plugins/optional-spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/repository/SpringRepositoryInstrumentation.java
similarity index 100%
rename from apm-sniffer/apm-sdk-plugin/spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/repository/SpringRepositoryInstrumentation.java
rename to apm-sniffer/optional-plugins/optional-spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/repository/SpringRepositoryInstrumentation.java
diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/services/SpringServicesInstrumentation.java b/apm-sniffer/optional-plugins/optional-spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/services/SpringServicesInstrumentation.java
similarity index 100%
rename from apm-sniffer/apm-sdk-plugin/spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/services/SpringServicesInstrumentation.java
rename to apm-sniffer/optional-plugins/optional-spring-plugins/spring-annotation-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/annotations/services/SpringServicesInstrumentation.java
diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/spring-annotation-plugin/src/main/resources/skywalking-plugin.def b/apm-sniffer/optional-plugins/optional-spring-plugins/spring-annotation-plugin/src/main/resources/skywalking-plugin.def
similarity index 100%
rename from apm-sniffer/apm-sdk-plugin/spring-plugins/spring-annotation-plugin/src/main/resources/skywalking-plugin.def
rename to apm-sniffer/optional-plugins/optional-spring-plugins/spring-annotation-plugin/src/main/resources/skywalking-plugin.def
diff --git a/apm-sniffer/optional-plugins/pom.xml b/apm-sniffer/optional-plugins/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..07061b9d62e87c6c8dcda7ce31536eae47f6b5df
--- /dev/null
+++ b/apm-sniffer/optional-plugins/pom.xml
@@ -0,0 +1,114 @@
+
+
+
+
+
+ apm-sniffer
+ org.apache.skywalking
+ 5.0.0-alpha
+
+ 4.0.0
+
+ optional-plugins
+ pom
+
+ ${project.build.directory}/../../../../packages/skywalking-agent/optional-plugins
+
+
+
+ optional-spring-plugins
+
+
+
+
+ org.apache.skywalking
+ apm-agent-core
+ ${project.version}
+ provided
+
+
+ org.apache.skywalking
+ apm-util
+ ${project.version}
+ provided
+
+
+ org.apache.skywalking
+ apm-test-tools
+ ${project.version}
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-antrun-plugin
+
+
+ package
+
+ run
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ant-contrib
+ ant-contrib
+ 1.0b3
+
+
+ ant
+ ant
+
+
+
+
+ org.apache.ant
+ ant-nodeps
+ 1.8.1
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apm-sniffer/pom.xml b/apm-sniffer/pom.xml
index 509de67ceacc31c94dad01dcdb884d383f3771ac..c5a7607c0f7ee520ac38a5762b18ea6ea60c0e3f 100644
--- a/apm-sniffer/pom.xml
+++ b/apm-sniffer/pom.xml
@@ -36,6 +36,7 @@
apm-sdk-plugin
apm-toolkit-activation
apm-test-tools
+ optional-plugins