diff --git a/.github/workflows/maven-test.yml b/.github/workflows/maven-test.yml
new file mode 100644
index 0000000..62808ee
--- /dev/null
+++ b/.github/workflows/maven-test.yml
@@ -0,0 +1,22 @@
+name: Java CI with Maven
+
+on:
+ push:
+ branches: [ "**" ]
+
+jobs:
+ test:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Set up JDK 25
+ uses: actions/setup-java@v4
+ with:
+ java-version: '25'
+ distribution: 'temurin'
+ cache: maven
+
+ - name: Run Maven Tests
+ run: mvn clean test
diff --git a/Dockerfile b/Dockerfile
index 1de43d8..f38323a 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,5 +1,5 @@
# Stage 1: Extract Spring Boot layers
-FROM eclipse-temurin:17-jre-alpine as builder
+FROM eclipse-temurin:25-jre-alpine as builder
WORKDIR /builder
# Expect the built jar file to be in the target directory
ARG JAR_FILE=target/*.jar
@@ -8,7 +8,7 @@ COPY ${JAR_FILE} application.jar
RUN java -Djarmode=layertools -jar application.jar extract
# Stage 2: Create the optimized production image
-FROM eclipse-temurin:17-jre-alpine
+FROM eclipse-temurin:25-jre-alpine
WORKDIR /application
# Best Practice: Run as a non-root user for security
diff --git a/pom.xml b/pom.xml
index 9f3b213..a375d5b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 3.2.3
+ 3.5.14
org.lock14
@@ -15,7 +15,7 @@
Demo project for Angular + Spring Boot
- 17
+ 25
v12.13.1
1.5.5.Final