From 9259ca26762bb716a450bfaf722c3b1030b72740 Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Mon, 8 Dec 2025 12:40:31 +0800
Subject: [PATCH 01/32] Fix
---
.github/workflows/ci.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index b92e5370de..0bc7a9c0e9 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -52,6 +52,8 @@ jobs:
include:
- os: ubuntu
java-version: 21
+ - os: ubuntu
+ java-version: 25
steps:
- if: matrix.os == 'windows'
name: Support longpaths
From 71ab376aacc7ecb3967846e77f5af1717c752725 Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Tue, 9 Dec 2025 07:10:45 +0800
Subject: [PATCH 02/32] Fix
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 77678e9b66..8e85a9cee4 100755
--- a/pom.xml
+++ b/pom.xml
@@ -86,7 +86,7 @@
4.12
5.0.0
2.0.2
- 1.18.30
+ 1.18.42
1.17.6
From 4a89228800228fb89f1368f36b01fe001f0e24f5 Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Tue, 9 Dec 2025 22:08:28 +0800
Subject: [PATCH 03/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 70 +++++++++++++++++++
.github/workflows/publish-docker.yaml | 2 +-
CHANGES.md | 1 +
Makefile | 3 +-
docs/en/contribution/compiling.md | 2 +-
.../service-agent/java-agent/Plugin-test.md | 1 +
.../setup/service-agent/java-agent/README.md | 2 +-
7 files changed, 77 insertions(+), 4 deletions(-)
create mode 100644 .github/workflows/plugins-jdk25-test.0.yaml
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
new file mode 100644
index 0000000000..0264493667
--- /dev/null
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -0,0 +1,70 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: Test
+
+on:
+ pull_request:
+ paths:
+ - '.github/workflows/plugins-*.yaml'
+ - 'apm-application-toolkit/**'
+ - 'apm-commons/**'
+ - 'apm-protocol/**'
+ - 'apm-sniffer/**'
+ - 'test/plugin/**'
+ - '**/pom.xml'
+ - '!**.md'
+
+concurrency:
+ group: plugins-jdk25-1-${{ github.event.pull_request.number || github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ timeout-minutes: 30
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ submodules: true
+ - name: Build
+ uses: ./.github/actions/build
+ with:
+ base_image_java: eclipse-temurin:25-jdk
+ base_image_tomcat: tomcat:10.1-jdk25-temurin
+
+ test:
+ needs: [ build ]
+ name: ${{ matrix.case }}-jdk25
+ runs-on: ubuntu-latest
+ timeout-minutes: 90
+ strategy:
+ matrix:
+ case:
+
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ submodules: true
+ - uses: actions/setup-java@v2
+ with:
+ distribution: 'temurin'
+ java-version: '25'
+ - name: Run Test
+ uses: ./.github/actions/run
+ with:
+ test_case: ${{ matrix.case }}
diff --git a/.github/workflows/publish-docker.yaml b/.github/workflows/publish-docker.yaml
index 71597889a3..7c1f4726b5 100644
--- a/.github/workflows/publish-docker.yaml
+++ b/.github/workflows/publish-docker.yaml
@@ -64,7 +64,7 @@ jobs:
timeout-minutes: 60
strategy:
matrix:
- java-version: [ 8, 11, 17, 21 ]
+ java-version: [ 8, 11, 17, 21, 25 ]
env:
TAG: ${{ github.sha }}
steps:
diff --git a/CHANGES.md b/CHANGES.md
index 45b20f1aa8..3fde83af09 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -22,6 +22,7 @@ Release Notes.
* Fix Gateway 2.0.x plugin not activated for spring-cloud-starter-gateway 2.0.0.RELEASE.
* Support kafka-clients-3.9.x intercept.
* Upgrade kafka-clients version in optional-reporter-plugins to 3.9.1.
+* Bump up Lombok to v1.18.42 to adopt JDK25 compiling.
All issues and pull requests are [here](https://github.com/apache/skywalking/milestone/242?closed=1)
diff --git a/Makefile b/Makefile
index b0b6adde5e..965c6572bc 100644
--- a/Makefile
+++ b/Makefile
@@ -34,7 +34,7 @@ dist: build
# Docker build
-base.all := alpine java8 java11 java17 java21
+base.all := alpine java8 java11 java17 java21 java25
base.each = $(word 1, $@)
base.image.alpine := alpine:3
@@ -42,6 +42,7 @@ base.image.java8 := eclipse-temurin:8-jre
base.image.java11 := eclipse-temurin:11-jre
base.image.java17 := eclipse-temurin:17-jre
base.image.java21 := eclipse-temurin:21-jre
+base.image.java25 := eclipse-temurin:25-jre
docker.%: PLATFORMS =
docker.%: LOAD_OR_PUSH = --load
diff --git a/docs/en/contribution/compiling.md b/docs/en/contribution/compiling.md
index d1507cc47a..da69b48a91 100644
--- a/docs/en/contribution/compiling.md
+++ b/docs/en/contribution/compiling.md
@@ -1,7 +1,7 @@
# Compiling project
This document will help you compile and build a project in your maven and set your IDE.
-Prepare JDK 17 or 21.
+Prepare JDK 17, 21 or 25.
* If you clone codes from https://github.com/apache/skywalking-java
```shell
diff --git a/docs/en/setup/service-agent/java-agent/Plugin-test.md b/docs/en/setup/service-agent/java-agent/Plugin-test.md
index c91402e6c5..267c8730ea 100644
--- a/docs/en/setup/service-agent/java-agent/Plugin-test.md
+++ b/docs/en/setup/service-agent/java-agent/Plugin-test.md
@@ -682,6 +682,7 @@ You can run `python3 tools/select-group.py` to see which file contains the least
If a test case required to run in JDK 17 environment, please add you test case into file `plugins-jdk17-test..yaml`.
If a test case required to run in JDK 21 environment, please add you test case into file `plugins-jdk21-test..yaml`.
+If a test case required to run in JDK 25 environment, please add you test case into file `plugins-jdk25-test..yaml`.
```yaml
jobs:
diff --git a/docs/en/setup/service-agent/java-agent/README.md b/docs/en/setup/service-agent/java-agent/README.md
index f6702c006f..d829b741fc 100755
--- a/docs/en/setup/service-agent/java-agent/README.md
+++ b/docs/en/setup/service-agent/java-agent/README.md
@@ -1,6 +1,6 @@
# Setup java agent
-1. Agent is available for JDK 8 - 21.
+1. Agent is available for JDK 8 - 25.
1. Find `agent` folder in SkyWalking release package
1. Set `agent.service_name` in `config/agent.config`. Could be any String in English.
1. Set `collector.backend_service` in `config/agent.config`. Default point to `127.0.0.1:11800`, only works for local
From cee2198234ee74ee9704c1ac30127383fe499c4e Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Tue, 9 Dec 2025 22:47:29 +0800
Subject: [PATCH 04/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 70 ---------------------
CHANGES.md | 1 +
2 files changed, 1 insertion(+), 70 deletions(-)
delete mode 100644 .github/workflows/plugins-jdk25-test.0.yaml
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
deleted file mode 100644
index 0264493667..0000000000
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ /dev/null
@@ -1,70 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-name: Test
-
-on:
- pull_request:
- paths:
- - '.github/workflows/plugins-*.yaml'
- - 'apm-application-toolkit/**'
- - 'apm-commons/**'
- - 'apm-protocol/**'
- - 'apm-sniffer/**'
- - 'test/plugin/**'
- - '**/pom.xml'
- - '!**.md'
-
-concurrency:
- group: plugins-jdk25-1-${{ github.event.pull_request.number || github.ref }}
- cancel-in-progress: true
-
-jobs:
- build:
- name: Build
- runs-on: ubuntu-latest
- timeout-minutes: 30
- steps:
- - uses: actions/checkout@v2
- with:
- submodules: true
- - name: Build
- uses: ./.github/actions/build
- with:
- base_image_java: eclipse-temurin:25-jdk
- base_image_tomcat: tomcat:10.1-jdk25-temurin
-
- test:
- needs: [ build ]
- name: ${{ matrix.case }}-jdk25
- runs-on: ubuntu-latest
- timeout-minutes: 90
- strategy:
- matrix:
- case:
-
- steps:
- - uses: actions/checkout@v2
- with:
- submodules: true
- - uses: actions/setup-java@v2
- with:
- distribution: 'temurin'
- java-version: '25'
- - name: Run Test
- uses: ./.github/actions/run
- with:
- test_case: ${{ matrix.case }}
diff --git a/CHANGES.md b/CHANGES.md
index e4ab7bcbc1..d85446c160 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -24,6 +24,7 @@ Release Notes.
* Upgrade kafka-clients version in optional-reporter-plugins to 3.9.1.
* Fix AbstractLogger replaceParam when the replaced string contains a replacement marker.
* Bump up Lombok to v1.18.42 to adopt JDK25 compiling.
+* Add `eclipse-temurin:25-jre` as another base image.
All issues and pull requests are [here](https://github.com/apache/skywalking/milestone/242?closed=1)
From 7969f05235ef5264c76efb3cdd414d08611b071d Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Tue, 9 Dec 2025 23:49:47 +0800
Subject: [PATCH 05/32] Fix
---
docs/en/setup/service-agent/java-agent/Plugin-test.md | 1 -
1 file changed, 1 deletion(-)
diff --git a/docs/en/setup/service-agent/java-agent/Plugin-test.md b/docs/en/setup/service-agent/java-agent/Plugin-test.md
index 267c8730ea..c91402e6c5 100644
--- a/docs/en/setup/service-agent/java-agent/Plugin-test.md
+++ b/docs/en/setup/service-agent/java-agent/Plugin-test.md
@@ -682,7 +682,6 @@ You can run `python3 tools/select-group.py` to see which file contains the least
If a test case required to run in JDK 17 environment, please add you test case into file `plugins-jdk17-test..yaml`.
If a test case required to run in JDK 21 environment, please add you test case into file `plugins-jdk21-test..yaml`.
-If a test case required to run in JDK 25 environment, please add you test case into file `plugins-jdk25-test..yaml`.
```yaml
jobs:
From ead34c5e54bffd1c12263d629ffd2cc8271725f0 Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Wed, 10 Dec 2025 12:11:50 +0800
Subject: [PATCH 06/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 70 +++++++++++++++++++
CHANGES.md | 1 +
.../service-agent/java-agent/Plugin-test.md | 1 +
3 files changed, 72 insertions(+)
create mode 100644 .github/workflows/plugins-jdk25-test.0.yaml
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
new file mode 100644
index 0000000000..9cb0126856
--- /dev/null
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -0,0 +1,70 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: Test
+
+on:
+ pull_request:
+ paths:
+ - '.github/workflows/plugins-*.yaml'
+ - 'apm-application-toolkit/**'
+ - 'apm-commons/**'
+ - 'apm-protocol/**'
+ - 'apm-sniffer/**'
+ - 'test/plugin/**'
+ - '**/pom.xml'
+ - '!**.md'
+
+concurrency:
+ group: plugins-jdk25-1-${{ github.event.pull_request.number || github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ timeout-minutes: 30
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ submodules: true
+ - name: Build
+ uses: ./.github/actions/build
+ with:
+ base_image_java: eclipse-temurin:25-jdk
+ base_image_tomcat: tomcat:10.1-jdk25-temurin
+
+ test:
+ needs: [ build ]
+ name: ${{ matrix.case }}-jdk25
+ runs-on: ubuntu-latest
+ timeout-minutes: 90
+ strategy:
+ matrix:
+ case:
+ - spring-6.x-scenario
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ submodules: true
+ - uses: actions/setup-java@v2
+ with:
+ distribution: 'temurin'
+ java-version: '25'
+ - name: Run Test
+ uses: ./.github/actions/run
+ with:
+ test_case: ${{ matrix.case }}
diff --git a/CHANGES.md b/CHANGES.md
index d85446c160..0de65472d9 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -25,6 +25,7 @@ Release Notes.
* Fix AbstractLogger replaceParam when the replaced string contains a replacement marker.
* Bump up Lombok to v1.18.42 to adopt JDK25 compiling.
* Add `eclipse-temurin:25-jre` as another base image.
+* Add JDK25 plugin tests for Spring 6.
All issues and pull requests are [here](https://github.com/apache/skywalking/milestone/242?closed=1)
diff --git a/docs/en/setup/service-agent/java-agent/Plugin-test.md b/docs/en/setup/service-agent/java-agent/Plugin-test.md
index c91402e6c5..267c8730ea 100644
--- a/docs/en/setup/service-agent/java-agent/Plugin-test.md
+++ b/docs/en/setup/service-agent/java-agent/Plugin-test.md
@@ -682,6 +682,7 @@ You can run `python3 tools/select-group.py` to see which file contains the least
If a test case required to run in JDK 17 environment, please add you test case into file `plugins-jdk17-test..yaml`.
If a test case required to run in JDK 21 environment, please add you test case into file `plugins-jdk21-test..yaml`.
+If a test case required to run in JDK 25 environment, please add you test case into file `plugins-jdk25-test..yaml`.
```yaml
jobs:
From 86679cb69a76bdef8105c5ab4f826804e5d1716e Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Wed, 10 Dec 2025 21:11:43 +0800
Subject: [PATCH 07/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index 9cb0126856..2851619f12 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -29,7 +29,7 @@ on:
- '!**.md'
concurrency:
- group: plugins-jdk25-1-${{ github.event.pull_request.number || github.ref }}
+ group: plugins-jdk21-1-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
@@ -44,12 +44,12 @@ jobs:
- name: Build
uses: ./.github/actions/build
with:
- base_image_java: eclipse-temurin:25-jdk
- base_image_tomcat: tomcat:10.1-jdk25-temurin
+ base_image_java: eclipse-temurin:21-jdk
+ base_image_tomcat: tomcat:10.1-jdk21-temurin
test:
needs: [ build ]
- name: ${{ matrix.case }}-jdk25
+ name: ${{ matrix.case }}-jdk21
runs-on: ubuntu-latest
timeout-minutes: 90
strategy:
@@ -63,7 +63,7 @@ jobs:
- uses: actions/setup-java@v2
with:
distribution: 'temurin'
- java-version: '25'
+ java-version: '21'
- name: Run Test
uses: ./.github/actions/run
with:
From e8104d51b4fa2a8be7c35ee3728d9acb1af08079 Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Wed, 10 Dec 2025 21:31:20 +0800
Subject: [PATCH 08/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index 2851619f12..8f71ac3b1f 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -29,7 +29,7 @@ on:
- '!**.md'
concurrency:
- group: plugins-jdk21-1-${{ github.event.pull_request.number || github.ref }}
+ group: plugins-jdk25-1-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
@@ -49,7 +49,7 @@ jobs:
test:
needs: [ build ]
- name: ${{ matrix.case }}-jdk21
+ name: ${{ matrix.case }}-jdk25
runs-on: ubuntu-latest
timeout-minutes: 90
strategy:
From b02792e7e957b5f3b69af86bf3fbaf1a2695d713 Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Wed, 10 Dec 2025 23:23:42 +0800
Subject: [PATCH 09/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index 8f71ac3b1f..97b9686b62 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -44,8 +44,8 @@ jobs:
- name: Build
uses: ./.github/actions/build
with:
- base_image_java: eclipse-temurin:21-jdk
- base_image_tomcat: tomcat:10.1-jdk21-temurin
+ base_image_java: eclipse-temurin:25-jdk
+ base_image_tomcat: tomcat:10.1-jdk25-temurin
test:
needs: [ build ]
From 4c1d4fd1888ab7d18f955ca544573f8e2d6b6aa9 Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Wed, 10 Dec 2025 23:38:38 +0800
Subject: [PATCH 10/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index 97b9686b62..bb7669c747 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -45,7 +45,7 @@ jobs:
uses: ./.github/actions/build
with:
base_image_java: eclipse-temurin:25-jdk
- base_image_tomcat: tomcat:10.1-jdk25-temurin
+ base_image_tomcat: tomcat:10.1-jdk21-temurin
test:
needs: [ build ]
From 1231d7e5b544376c96d356a7653e991a0e0f55c7 Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Thu, 11 Dec 2025 00:19:31 +0800
Subject: [PATCH 11/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index bb7669c747..255656f845 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -45,7 +45,7 @@ jobs:
uses: ./.github/actions/build
with:
base_image_java: eclipse-temurin:25-jdk
- base_image_tomcat: tomcat:10.1-jdk21-temurin
+ base_image_tomcat: tomcat:10.1.50-jdk25-temurin
test:
needs: [ build ]
@@ -63,7 +63,7 @@ jobs:
- uses: actions/setup-java@v2
with:
distribution: 'temurin'
- java-version: '21'
+ java-version: '25'
- name: Run Test
uses: ./.github/actions/run
with:
From 61af899c0af320680a51374230a6ca1b3391f476 Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Thu, 11 Dec 2025 08:52:20 +0800
Subject: [PATCH 12/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index 255656f845..42f5c980cf 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -45,7 +45,7 @@ jobs:
uses: ./.github/actions/build
with:
base_image_java: eclipse-temurin:25-jdk
- base_image_tomcat: tomcat:10.1.50-jdk25-temurin
+ base_image_tomcat: tomcat:10.1.50-jdk25-temurin-noble
test:
needs: [ build ]
From 512c8bff84bff34647bda5cc24b329f6ec486dad Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Thu, 11 Dec 2025 09:03:25 +0800
Subject: [PATCH 13/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index 42f5c980cf..2e176508cf 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -45,7 +45,7 @@ jobs:
uses: ./.github/actions/build
with:
base_image_java: eclipse-temurin:25-jdk
- base_image_tomcat: tomcat:10.1.50-jdk25-temurin-noble
+ base_image_tomcat: tomcat:10.1.50-jdk25-temurin
test:
needs: [ build ]
@@ -63,7 +63,7 @@ jobs:
- uses: actions/setup-java@v2
with:
distribution: 'temurin'
- java-version: '25'
+ java-version: '21'
- name: Run Test
uses: ./.github/actions/run
with:
From 16f8dbb35acc1745bfa6eb6574b481b05971db9f Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Thu, 11 Dec 2025 09:31:39 +0800
Subject: [PATCH 14/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index 2e176508cf..14f42df34a 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -45,7 +45,7 @@ jobs:
uses: ./.github/actions/build
with:
base_image_java: eclipse-temurin:25-jdk
- base_image_tomcat: tomcat:10.1.50-jdk25-temurin
+ base_image_tomcat: tomcat:10.1.50-jdk21-temurin
test:
needs: [ build ]
@@ -63,7 +63,7 @@ jobs:
- uses: actions/setup-java@v2
with:
distribution: 'temurin'
- java-version: '21'
+ java-version: '25'
- name: Run Test
uses: ./.github/actions/run
with:
From 857437c0d4e0ef89946f382e7c669393dd592894 Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Thu, 11 Dec 2025 12:35:24 +0800
Subject: [PATCH 15/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index 14f42df34a..39185236fb 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -45,7 +45,7 @@ jobs:
uses: ./.github/actions/build
with:
base_image_java: eclipse-temurin:25-jdk
- base_image_tomcat: tomcat:10.1.50-jdk21-temurin
+ base_image_tomcat: tomcat:10.1.50-jdk25
test:
needs: [ build ]
From 7226f0eb055bc17c1ff1e855e1b37f1dacf23376 Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Thu, 11 Dec 2025 21:03:16 +0800
Subject: [PATCH 16/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index 39185236fb..dccd1e6929 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -45,7 +45,7 @@ jobs:
uses: ./.github/actions/build
with:
base_image_java: eclipse-temurin:25-jdk
- base_image_tomcat: tomcat:10.1.50-jdk25
+ base_image_tomcat: tomcat:11.0-jdk25-temurin
test:
needs: [ build ]
From dbfacb746e011d5e84060147314d08a451ba4f0b Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Thu, 11 Dec 2025 21:18:03 +0800
Subject: [PATCH 17/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index dccd1e6929..93ff03700d 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -45,7 +45,7 @@ jobs:
uses: ./.github/actions/build
with:
base_image_java: eclipse-temurin:25-jdk
- base_image_tomcat: tomcat:11.0-jdk25-temurin
+ base_image_tomcat: tomcat:11.0.15-jdk21-temurin-noble
test:
needs: [ build ]
From f2b715d9206a1e05b97d794729bdf268c5d01cd8 Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Thu, 11 Dec 2025 21:28:08 +0800
Subject: [PATCH 18/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index 93ff03700d..2444910633 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -45,7 +45,7 @@ jobs:
uses: ./.github/actions/build
with:
base_image_java: eclipse-temurin:25-jdk
- base_image_tomcat: tomcat:11.0.15-jdk21-temurin-noble
+ base_image_tomcat: tomcat:11.0.15-jdk25-temurin-noble
test:
needs: [ build ]
From 7461d3b13e7d683cef0969bf8d788ffd77ebfe9f Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Thu, 11 Dec 2025 21:34:37 +0800
Subject: [PATCH 19/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index 2444910633..7c76147532 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -45,7 +45,7 @@ jobs:
uses: ./.github/actions/build
with:
base_image_java: eclipse-temurin:25-jdk
- base_image_tomcat: tomcat:11.0.15-jdk25-temurin-noble
+ base_image_tomcat: tomcat:11.0.15-jdk25-temurin
test:
needs: [ build ]
From d0b82897393f20385ea32ec01612a812493a15c5 Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Thu, 11 Dec 2025 21:35:08 +0800
Subject: [PATCH 20/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index 7c76147532..2444910633 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -45,7 +45,7 @@ jobs:
uses: ./.github/actions/build
with:
base_image_java: eclipse-temurin:25-jdk
- base_image_tomcat: tomcat:11.0.15-jdk25-temurin
+ base_image_tomcat: tomcat:11.0.15-jdk25-temurin-noble
test:
needs: [ build ]
From 5bc184d1fbbfa671d8f627bf383633609b498205 Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Thu, 11 Dec 2025 22:05:14 +0800
Subject: [PATCH 21/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index 2444910633..d5b8bb69f9 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -45,7 +45,7 @@ jobs:
uses: ./.github/actions/build
with:
base_image_java: eclipse-temurin:25-jdk
- base_image_tomcat: tomcat:11.0.15-jdk25-temurin-noble
+ base_image_tomcat: tomcat:11.0.15-jdk25-temurin-jammy
test:
needs: [ build ]
From c7058b35eb5f9c37196c3b4e6dcbdf39a8855d4d Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Thu, 11 Dec 2025 23:14:32 +0800
Subject: [PATCH 22/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index d5b8bb69f9..ebb675ad11 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -41,11 +41,15 @@ jobs:
- uses: actions/checkout@v2
with:
submodules: true
+ - name: Install curl
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y curl
- name: Build
uses: ./.github/actions/build
with:
base_image_java: eclipse-temurin:25-jdk
- base_image_tomcat: tomcat:11.0.15-jdk25-temurin-jammy
+ base_image_tomcat: tomcat:11.0.15-jdk25-temurin
test:
needs: [ build ]
From d787d72fdad1514e41a55d41b909532691d5d174 Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Thu, 11 Dec 2025 23:57:35 +0800
Subject: [PATCH 23/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index ebb675ad11..d6da23e175 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -41,15 +41,17 @@ jobs:
- uses: actions/checkout@v2
with:
submodules: true
- - name: Install curl
+ - name: Add curl to tomcat image
run: |
- sudo apt-get update
- sudo apt-get install -y curl
+ echo "FROM tomcat:10.1.50-jdk21-temurin
+ RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*" > Dockerfile.curl
+
+ docker build -t tomcat-curl:10.1.50-jdk21-temurin -f Dockerfile.curl .
- name: Build
uses: ./.github/actions/build
with:
base_image_java: eclipse-temurin:25-jdk
- base_image_tomcat: tomcat:11.0.15-jdk25-temurin
+ base_image_tomcat: tomcat-curl:10.1.50-jdk21-temurin
test:
needs: [ build ]
From b814d242bf887447d5c72d1558f64a0755854878 Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Fri, 12 Dec 2025 08:34:35 +0800
Subject: [PATCH 24/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index d6da23e175..a438ed5efd 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -43,8 +43,10 @@ jobs:
submodules: true
- name: Add curl to tomcat image
run: |
- echo "FROM tomcat:10.1.50-jdk21-temurin
- RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*" > Dockerfile.curl
+ cat << 'EOF' > Dockerfile.curl
+ FROM tomcat:10.1.50-jdk21-temurin
+ RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*
+ EOF
docker build -t tomcat-curl:10.1.50-jdk21-temurin -f Dockerfile.curl .
- name: Build
From e48363811b13c10a6c306e97236a84c608ba4347 Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Fri, 12 Dec 2025 08:50:57 +0800
Subject: [PATCH 25/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index a438ed5efd..d5b8bb69f9 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -41,19 +41,11 @@ jobs:
- uses: actions/checkout@v2
with:
submodules: true
- - name: Add curl to tomcat image
- run: |
- cat << 'EOF' > Dockerfile.curl
- FROM tomcat:10.1.50-jdk21-temurin
- RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*
- EOF
-
- docker build -t tomcat-curl:10.1.50-jdk21-temurin -f Dockerfile.curl .
- name: Build
uses: ./.github/actions/build
with:
base_image_java: eclipse-temurin:25-jdk
- base_image_tomcat: tomcat-curl:10.1.50-jdk21-temurin
+ base_image_tomcat: tomcat:11.0.15-jdk25-temurin-jammy
test:
needs: [ build ]
From 86612eb553ceee406b9f04f579f102d8214e70f6 Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Fri, 12 Dec 2025 12:34:40 +0800
Subject: [PATCH 26/32] Fix
---
.github/workflows/Dockerfile | 21 +++++++++++++++++++++
.github/workflows/plugins-jdk25-test.0.yaml | 5 ++++-
2 files changed, 25 insertions(+), 1 deletion(-)
create mode 100644 .github/workflows/Dockerfile
diff --git a/.github/workflows/Dockerfile b/.github/workflows/Dockerfile
new file mode 100644
index 0000000000..dc510ffb4c
--- /dev/null
+++ b/.github/workflows/Dockerfile
@@ -0,0 +1,21 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM tomcat:10.1.50-jdk25-temurin
+
+RUN apt-get update \
+ && apt-get install -y --no-install-recommends curl \
+ && rm -rf /var/lib/apt/lists/*
\ No newline at end of file
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index d5b8bb69f9..e6073d2daf 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -41,11 +41,14 @@ jobs:
- uses: actions/checkout@v2
with:
submodules: true
+ - name: Build local tomcat-curl image
+ run: |
+ docker build -t tomcat-curl:10.1.50-jdk25-temurin -f Dockerfile.curl .
- name: Build
uses: ./.github/actions/build
with:
base_image_java: eclipse-temurin:25-jdk
- base_image_tomcat: tomcat:11.0.15-jdk25-temurin-jammy
+ base_image_tomcat: tomcat-curl:10.1.50-jdk25-temurin
test:
needs: [ build ]
From 73be62527c84497fc1082c0aadb94e45f70857a8 Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Fri, 12 Dec 2025 12:42:35 +0800
Subject: [PATCH 27/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 3 ---
1 file changed, 3 deletions(-)
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index e6073d2daf..057a92db2d 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -41,9 +41,6 @@ jobs:
- uses: actions/checkout@v2
with:
submodules: true
- - name: Build local tomcat-curl image
- run: |
- docker build -t tomcat-curl:10.1.50-jdk25-temurin -f Dockerfile.curl .
- name: Build
uses: ./.github/actions/build
with:
From 2a54f6127a8918f25ae562468503d637d66b51d7 Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Fri, 12 Dec 2025 20:30:48 +0800
Subject: [PATCH 28/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index 057a92db2d..73b8242cf4 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -41,6 +41,9 @@ jobs:
- uses: actions/checkout@v2
with:
submodules: true
+ - name: Build local tomcat-curl image
+ run: |
+ docker build -t tomcat-curl:10.1.50-jdk25-temurin -f Dockerfile.
- name: Build
uses: ./.github/actions/build
with:
From 58ea0610ef2c3cc2fc3f2f5bcfe41c776bba6e11 Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Fri, 12 Dec 2025 21:57:18 +0800
Subject: [PATCH 29/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index 73b8242cf4..cbb6d4d2c9 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -43,7 +43,8 @@ jobs:
submodules: true
- name: Build local tomcat-curl image
run: |
- docker build -t tomcat-curl:10.1.50-jdk25-temurin -f Dockerfile.
+ docker build -t tomcat-curl:10.1.50-jdk25-temurin \
+ -f Dockerfile .
- name: Build
uses: ./.github/actions/build
with:
From 06a84149bef7ab977312a34acb831e0f0c4fa7aa Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Fri, 12 Dec 2025 22:01:03 +0800
Subject: [PATCH 30/32] Fix
---
.github/workflows/plugins-jdk25-test.0.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index cbb6d4d2c9..d189ff9158 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -44,7 +44,7 @@ jobs:
- name: Build local tomcat-curl image
run: |
docker build -t tomcat-curl:10.1.50-jdk25-temurin \
- -f Dockerfile .
+ -f ./.github/workflows/Dockerfile .
- name: Build
uses: ./.github/actions/build
with:
From 14bebea6ceb0cf4d6dec7b0ea2bb0b4bb06f3f3e Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Fri, 12 Dec 2025 22:14:38 +0800
Subject: [PATCH 31/32] Fix
---
.../workflows/{Dockerfile => Dockerfile-tomcat-jdk25-withCurl} | 0
.github/workflows/plugins-jdk25-test.0.yaml | 2 +-
2 files changed, 1 insertion(+), 1 deletion(-)
rename .github/workflows/{Dockerfile => Dockerfile-tomcat-jdk25-withCurl} (100%)
diff --git a/.github/workflows/Dockerfile b/.github/workflows/Dockerfile-tomcat-jdk25-withCurl
similarity index 100%
rename from .github/workflows/Dockerfile
rename to .github/workflows/Dockerfile-tomcat-jdk25-withCurl
diff --git a/.github/workflows/plugins-jdk25-test.0.yaml b/.github/workflows/plugins-jdk25-test.0.yaml
index d189ff9158..88c7213101 100644
--- a/.github/workflows/plugins-jdk25-test.0.yaml
+++ b/.github/workflows/plugins-jdk25-test.0.yaml
@@ -44,7 +44,7 @@ jobs:
- name: Build local tomcat-curl image
run: |
docker build -t tomcat-curl:10.1.50-jdk25-temurin \
- -f ./.github/workflows/Dockerfile .
+ -f ./.github/workflows/Dockerfile-tomcat-jdk25-withCurl .
- name: Build
uses: ./.github/actions/build
with:
From cd988a6abf7b0040917c79c9f8b75a94ed61e211 Mon Sep 17 00:00:00 2001
From: peachisai <2581009893@qq.com>
Date: Sun, 14 Dec 2025 22:14:24 +0800
Subject: [PATCH 32/32] Fix
---
docs/en/setup/service-agent/java-agent/Plugin-test.md | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/docs/en/setup/service-agent/java-agent/Plugin-test.md b/docs/en/setup/service-agent/java-agent/Plugin-test.md
index 267c8730ea..e9dabb7515 100644
--- a/docs/en/setup/service-agent/java-agent/Plugin-test.md
+++ b/docs/en/setup/service-agent/java-agent/Plugin-test.md
@@ -38,6 +38,10 @@ The test case project must be packaged as `project-name.war` by using `mvn packa
Take the following test project as an example
* [spring-4.3.x-scenario](../../../../../test/plugin/scenarios/spring-4.3.x-scenario)
+Note on `tomcat:10.1.50-jdk25-temurin` image:
+
+Starting from JDK 22, the Tomcat community removed `curl` from the official Tomcat JDK images. Since `curl` is required by our plugin test framework, we provide a custom `tomcat-jdk25` image built with `curl` installed.
+You can refer to the [tomcat-jdk25-dockerFile](../../../../../.github/workflows/Dockerfile-tomcat-jdk25-withCurl) to build the image for local plugin tests.
## Test project hierarchical structure
The test case is an independent maven project, and it must be packaged as a war tar ball or zip file, depending on the chosen base image. Also, two external accessible endpoints usually two URLs) are required.