From 60a917ffe0b3acefb7909ca55258dc0c10cedb63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patxi=20Gort=C3=A1zar?= Date: Thu, 29 Oct 2026 10:23:44 +0100 Subject: [PATCH 1/5] Declare querydsl-apt as an annotation processor path bd_ejem17 relied on javac finding the processor on the compile classpath, which is how querydsl-apt was wired: a provided dependency and nothing else. From JDK 23 javac no longer runs processors discovered that way, so QPost silently stops being generated and the project fails to compile with "cannot find symbol". It is the only project in the repository with an annotation processor. annotationProcessorPaths states the processor explicitly, which is what the compiler plugin reads regardless of the -proc default. The path needs jakarta.persistence-api as well, since the JPA processor resolves the persistence annotations from the processor path, not the classpath. The provided dependency stays: IDEs still discover the processor through the classpath, and removing it would break APT inside Eclipse and IDEA. No behaviour change on Java 21, where implicit discovery still applies. Co-Authored-By: Claude Opus 5 --- parte_2/tema_2.5_db/bd_ejem17/pom.xml | 30 +++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/parte_2/tema_2.5_db/bd_ejem17/pom.xml b/parte_2/tema_2.5_db/bd_ejem17/pom.xml index 9325c1b..03d7943 100644 --- a/parte_2/tema_2.5_db/bd_ejem17/pom.xml +++ b/parte_2/tema_2.5_db/bd_ejem17/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 @@ -61,11 +61,37 @@ + + + org.apache.maven.plugins + maven-compiler-plugin + + + + com.querydsl + querydsl-apt + 5.0.0 + jakarta + + + jakarta.persistence + jakarta.persistence-api + ${jakarta-persistence.version} + + + + com.querydsl.apt.jpa.JPAAnnotationProcessor + + + + org.springframework.boot spring-boot-maven-plugin - + From 632e0c59472221688ad5e0912edb454123545014 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patxi=20Gort=C3=A1zar?= Date: Thu, 29 Oct 2026 10:23:56 +0100 Subject: [PATCH 2/5] Move the whole repository to Java 25 Java 25 is the current LTS and Spring Boot 4.0.5 supports it. Java 21 was inherited from the Boot 4 upgrade, which targeted the LTS that was current when that work started. - java.version in all 86 poms, plus the maven.compiler.source/target pair in parte_4/tema_4.2/ejemplo-2, which has no Boot parent. - maven-build.yml sets up JDK 25. - The Docker samples: eclipse-temurin:25-jre at runtime and maven:3.9.11-eclipse-temurin-25 to build. There is no maven:3.9.9-eclipse-temurin-25 tag, so the pinned Maven version moves with it; maven:3-eclipse-temurin-25 where the tag was already floating. Three Dockerfiles were already behind their own pom before this change and are now consistent for the first time: parte_4/tema_4.2/ejer4 and parte_4/tema_4.3/ejercicio-1 built a java.version 21 project on a JDK 17 image, and parte_5/ejem4b-haproxy-ssl-passthrough ran the resulting jar on a 17.0.6 JRE. None of that is exercised by CI, which only runs Maven, so it failed only for whoever built the images. Left alone: the devcontainer in parte_4/tema_4.2/ejemplo-1 pins VARIANT to 17-bullseye on the deprecated mcr.microsoft.com/vscode/devcontainers image, whose tag family has no 25. Replacing it means moving to the mcr.microsoft.com/devcontainers/java image, which is a separate change. The defaults of update-springboot.yml said Boot 3.4.1 and Java 17, so dispatching that workflow with its own defaults would have downgraded the repository. They now match what the repository is on. Not verified locally: the test run is on the CI matrix for this branch. Co-Authored-By: Claude Opus 5 --- .github/workflows/maven-build.yml | 4 ++-- .github/workflows/update-springboot.yml | 8 ++++---- parte_2/tema_2.2_web/web_ejem1/pom.xml | 2 +- parte_2/tema_2.2_web/web_ejem2/pom.xml | 2 +- parte_2/tema_2.2_web/web_ejem3/pom.xml | 2 +- parte_2/tema_2.2_web/web_ejem4/pom.xml | 2 +- parte_2/tema_2.2_web/web_ejem5/pom.xml | 2 +- parte_2/tema_2.2_web/web_ejem6/pom.xml | 2 +- parte_2/tema_2.2_web/web_ejem7/pom.xml | 2 +- parte_2/tema_2.2_web/web_ejem8/pom.xml | 2 +- parte_2/tema_2.2_web/web_ejem8b/pom.xml | 2 +- parte_2/tema_2.2_web/web_ejer1/pom.xml | 2 +- parte_2/tema_2.2_web/web_ejer1b/pom.xml | 2 +- parte_2/tema_2.2_web/web_ejer2/pom.xml | 2 +- parte_2/tema_2.2_web/web_ejer3/pom.xml | 2 +- parte_2/tema_2.2_web/web_ejer3_devtools/pom.xml | 2 +- parte_2/tema_2.2_web/web_ejer4/pom.xml | 2 +- parte_2/tema_2.2_web/web_ejer5/pom.xml | 2 +- parte_2/tema_2.2_web/web_ejer6/pom.xml | 2 +- parte_2/tema_2.2_web/web_ejer7/pom.xml | 2 +- parte_2/tema_2.3_rest/rest_ejem1/pom.xml | 2 +- parte_2/tema_2.3_rest/rest_ejem10/pom.xml | 2 +- parte_2/tema_2.3_rest/rest_ejem11/pom.xml | 2 +- parte_2/tema_2.3_rest/rest_ejem2/pom.xml | 2 +- parte_2/tema_2.3_rest/rest_ejem3/pom.xml | 2 +- parte_2/tema_2.3_rest/rest_ejem4/pom.xml | 2 +- parte_2/tema_2.3_rest/rest_ejem5/pom.xml | 2 +- parte_2/tema_2.3_rest/rest_ejem6/pom.xml | 2 +- parte_2/tema_2.3_rest/rest_ejem7/pom.xml | 2 +- parte_2/tema_2.3_rest/rest_ejem8/pom.xml | 2 +- parte_2/tema_2.3_rest/rest_ejem9/pom.xml | 2 +- parte_2/tema_2.3_rest/rest_ejer1/pom.xml | 2 +- parte_2/tema_2.5_db/bd_ejem1/pom.xml | 2 +- parte_2/tema_2.5_db/bd_ejem10/pom.xml | 2 +- parte_2/tema_2.5_db/bd_ejem11/pom.xml | 2 +- parte_2/tema_2.5_db/bd_ejem12/pom.xml | 2 +- parte_2/tema_2.5_db/bd_ejem13/pom.xml | 2 +- parte_2/tema_2.5_db/bd_ejem14/pom.xml | 2 +- parte_2/tema_2.5_db/bd_ejem15/pom.xml | 2 +- parte_2/tema_2.5_db/bd_ejem16/pom.xml | 2 +- parte_2/tema_2.5_db/bd_ejem18/pom.xml | 2 +- parte_2/tema_2.5_db/bd_ejem19/pom.xml | 2 +- parte_2/tema_2.5_db/bd_ejem2/pom.xml | 2 +- parte_2/tema_2.5_db/bd_ejem20/pom.xml | 2 +- parte_2/tema_2.5_db/bd_ejem21/pom.xml | 2 +- parte_2/tema_2.5_db/bd_ejem22/pom.xml | 2 +- parte_2/tema_2.5_db/bd_ejem3/pom.xml | 2 +- parte_2/tema_2.5_db/bd_ejem4/pom.xml | 2 +- parte_2/tema_2.5_db/bd_ejem5/pom.xml | 2 +- parte_2/tema_2.5_db/bd_ejem6/pom.xml | 2 +- parte_2/tema_2.5_db/bd_ejem7/pom.xml | 2 +- parte_2/tema_2.5_db/bd_ejem8/pom.xml | 2 +- parte_2/tema_2.5_db/bd_ejem9/pom.xml | 2 +- parte_2/tema_2.5_db/bd_ejer1/pom.xml | 2 +- parte_2/tema_2.5_db/bd_ejer2/pom.xml | 2 +- parte_2/tema_2.6_despliegue/despliegue_ejem1/pom.xml | 2 +- parte_2/tema_2.6_despliegue/despliegue_ejem2/pom.xml | 2 +- .../comunicacion-rabbitmq-ejem1-consumer/pom.xml | 2 +- .../comunicacion-rabbitmq-ejem1-producer/pom.xml | 2 +- .../comunicacion-rabbitmq-ejem2-consumer/pom.xml | 2 +- .../comunicacion-rabbitmq-ejem2-producer/pom.xml | 2 +- .../comunicacion-rabbitmq-ejem3-client/pom.xml | 2 +- .../comunicacion-rabbitmq-ejem3-service/pom.xml | 2 +- parte_3/tema_3.2_websockets/comunicacion-ws-ejem1/pom.xml | 2 +- parte_3/tema_3.2_websockets/comunicacion-ws-ejem2/pom.xml | 2 +- parte_4/tema_4.2/aplicacion-java-enunciado/pom.xml | 2 +- parte_4/tema_4.2/ejemplo-1/jar.Dockerfile | 2 +- parte_4/tema_4.2/ejemplo-1/multistage.Dockerfile | 4 ++-- parte_4/tema_4.2/ejemplo-1/pom.xml | 2 +- parte_4/tema_4.2/ejemplo-2/Dockerfile | 4 ++-- parte_4/tema_4.2/ejemplo-2/pom.xml | 6 +++--- parte_4/tema_4.2/ejer4/Dockerfile | 2 +- parte_4/tema_4.2/ejer4/aplicacion-java-enunciado/pom.xml | 2 +- parte_4/tema_4.2/ejer5/Dockerfile | 4 ++-- parte_4/tema_4.2/ejer5/aplicacion-java-enunciado/pom.xml | 2 +- parte_4/tema_4.2/ejer6/pom.xml | 2 +- parte_4/tema_4.2/ejer7/pom.xml | 2 +- parte_4/tema_4.2/ejer8/pom.xml | 2 +- .../comunicacion-rabbitmq-ejem3-consumer/Dockerfile | 4 ++-- .../comunicacion-rabbitmq-ejem3-consumer/pom.xml | 2 +- .../comunicacion-rabbitmq-ejem3-producer/Dockerfile | 4 ++-- .../comunicacion-rabbitmq-ejem3-producer/pom.xml | 2 +- parte_4/tema_4.3/ejemplo-2/Dockerfile | 4 ++-- parte_4/tema_4.3/ejemplo-2/pom.xml | 2 +- parte_4/tema_4.3/ejemplo-3/Dockerfile | 4 ++-- parte_4/tema_4.3/ejemplo-3/pom.xml | 2 +- parte_4/tema_4.3/ejercicio-1-enunciado/pom.xml | 2 +- parte_4/tema_4.3/ejercicio-1/Dockerfile | 4 ++-- parte_4/tema_4.3/ejercicio-1/pom.xml | 2 +- parte_5/ejem0-jmeter/Dockerfile | 4 ++-- parte_5/ejem0-jmeter/pom.xml | 2 +- parte_5/ejem1-jmeter/ejem-1/Dockerfile | 4 ++-- parte_5/ejem1-jmeter/ejem-1/pom.xml | 2 +- parte_5/ejem1-jmeter/ejem-2-cache-redis/Dockerfile | 4 ++-- parte_5/ejem1-jmeter/ejem-2-cache-redis/pom.xml | 2 +- parte_5/ejem1-jmeter/ejem-2-cache/Dockerfile | 4 ++-- parte_5/ejem1-jmeter/ejem-2-cache/pom.xml | 2 +- parte_5/ejem3-cache-distribuida/pom.xml | 2 +- parte_5/ejem3-cache-distribuida2/pom.xml | 2 +- parte_5/ejem4-haproxy/Dockerfile | 4 ++-- parte_5/ejem4-haproxy/pom.xml | 2 +- parte_5/ejem4b-haproxy-ssl-passthrough/Dockerfile | 4 ++-- parte_5/ejem4b-haproxy-ssl-passthrough/pom.xml | 2 +- 103 files changed, 123 insertions(+), 123 deletions(-) diff --git a/.github/workflows/maven-build.yml b/.github/workflows/maven-build.yml index 9e685be..bc4bcac 100644 --- a/.github/workflows/maven-build.yml +++ b/.github/workflows/maven-build.yml @@ -71,10 +71,10 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Set up JDK 21 + - name: Set up JDK 25 uses: actions/setup-java@v4 with: - java-version: '21' + java-version: '25' distribution: 'temurin' cache: maven diff --git a/.github/workflows/update-springboot.yml b/.github/workflows/update-springboot.yml index 73af49e..d593b96 100644 --- a/.github/workflows/update-springboot.yml +++ b/.github/workflows/update-springboot.yml @@ -4,13 +4,13 @@ on: workflow_dispatch: inputs: springboot_version: - description: 'Versión de Spring Boot (ej: 3.4.1)' + description: 'Versión de Spring Boot (ej: 4.0.5)' required: true - default: '3.4.1' + default: '4.0.5' java_version: - description: 'Versión de Java (ej: 17, 21)' + description: 'Versión de Java (ej: 21, 25)' required: true - default: '17' + default: '25' jobs: update-project-stack: diff --git a/parte_2/tema_2.2_web/web_ejem1/pom.xml b/parte_2/tema_2.2_web/web_ejem1/pom.xml index d73e7de..8b39bf9 100644 --- a/parte_2/tema_2.2_web/web_ejem1/pom.xml +++ b/parte_2/tema_2.2_web/web_ejem1/pom.xml @@ -18,7 +18,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.2_web/web_ejem2/pom.xml b/parte_2/tema_2.2_web/web_ejem2/pom.xml index e078fcb..93ca75b 100644 --- a/parte_2/tema_2.2_web/web_ejem2/pom.xml +++ b/parte_2/tema_2.2_web/web_ejem2/pom.xml @@ -18,7 +18,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.2_web/web_ejem3/pom.xml b/parte_2/tema_2.2_web/web_ejem3/pom.xml index f8e3b7c..374d4d7 100644 --- a/parte_2/tema_2.2_web/web_ejem3/pom.xml +++ b/parte_2/tema_2.2_web/web_ejem3/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.2_web/web_ejem4/pom.xml b/parte_2/tema_2.2_web/web_ejem4/pom.xml index d36ebec..22faeef 100644 --- a/parte_2/tema_2.2_web/web_ejem4/pom.xml +++ b/parte_2/tema_2.2_web/web_ejem4/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.2_web/web_ejem5/pom.xml b/parte_2/tema_2.2_web/web_ejem5/pom.xml index 48b3e4c..7779fde 100644 --- a/parte_2/tema_2.2_web/web_ejem5/pom.xml +++ b/parte_2/tema_2.2_web/web_ejem5/pom.xml @@ -18,7 +18,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.2_web/web_ejem6/pom.xml b/parte_2/tema_2.2_web/web_ejem6/pom.xml index 1ca63ae..0122aa5 100644 --- a/parte_2/tema_2.2_web/web_ejem6/pom.xml +++ b/parte_2/tema_2.2_web/web_ejem6/pom.xml @@ -18,7 +18,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.2_web/web_ejem7/pom.xml b/parte_2/tema_2.2_web/web_ejem7/pom.xml index 27e3721..3c1be14 100644 --- a/parte_2/tema_2.2_web/web_ejem7/pom.xml +++ b/parte_2/tema_2.2_web/web_ejem7/pom.xml @@ -18,7 +18,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.2_web/web_ejem8/pom.xml b/parte_2/tema_2.2_web/web_ejem8/pom.xml index 123573b..ae6f66c 100644 --- a/parte_2/tema_2.2_web/web_ejem8/pom.xml +++ b/parte_2/tema_2.2_web/web_ejem8/pom.xml @@ -18,7 +18,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.2_web/web_ejem8b/pom.xml b/parte_2/tema_2.2_web/web_ejem8b/pom.xml index 0a98970..533dd04 100644 --- a/parte_2/tema_2.2_web/web_ejem8b/pom.xml +++ b/parte_2/tema_2.2_web/web_ejem8b/pom.xml @@ -18,7 +18,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.2_web/web_ejer1/pom.xml b/parte_2/tema_2.2_web/web_ejer1/pom.xml index 8c0de10..9809589 100644 --- a/parte_2/tema_2.2_web/web_ejer1/pom.xml +++ b/parte_2/tema_2.2_web/web_ejer1/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.2_web/web_ejer1b/pom.xml b/parte_2/tema_2.2_web/web_ejer1b/pom.xml index f4027db..27dbd01 100644 --- a/parte_2/tema_2.2_web/web_ejer1b/pom.xml +++ b/parte_2/tema_2.2_web/web_ejer1b/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.2_web/web_ejer2/pom.xml b/parte_2/tema_2.2_web/web_ejer2/pom.xml index ef6c442..9acf0d2 100644 --- a/parte_2/tema_2.2_web/web_ejer2/pom.xml +++ b/parte_2/tema_2.2_web/web_ejer2/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.2_web/web_ejer3/pom.xml b/parte_2/tema_2.2_web/web_ejer3/pom.xml index 9422a9b..7e3be88 100644 --- a/parte_2/tema_2.2_web/web_ejer3/pom.xml +++ b/parte_2/tema_2.2_web/web_ejer3/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.2_web/web_ejer3_devtools/pom.xml b/parte_2/tema_2.2_web/web_ejer3_devtools/pom.xml index 9a9e68a..8e69237 100644 --- a/parte_2/tema_2.2_web/web_ejer3_devtools/pom.xml +++ b/parte_2/tema_2.2_web/web_ejer3_devtools/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.2_web/web_ejer4/pom.xml b/parte_2/tema_2.2_web/web_ejer4/pom.xml index f334f63..75728cd 100644 --- a/parte_2/tema_2.2_web/web_ejer4/pom.xml +++ b/parte_2/tema_2.2_web/web_ejer4/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.2_web/web_ejer5/pom.xml b/parte_2/tema_2.2_web/web_ejer5/pom.xml index 33a3afd..c885e37 100644 --- a/parte_2/tema_2.2_web/web_ejer5/pom.xml +++ b/parte_2/tema_2.2_web/web_ejer5/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.2_web/web_ejer6/pom.xml b/parte_2/tema_2.2_web/web_ejer6/pom.xml index 114f60f..1320352 100644 --- a/parte_2/tema_2.2_web/web_ejer6/pom.xml +++ b/parte_2/tema_2.2_web/web_ejer6/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.2_web/web_ejer7/pom.xml b/parte_2/tema_2.2_web/web_ejer7/pom.xml index 19ceebb..b10e193 100644 --- a/parte_2/tema_2.2_web/web_ejer7/pom.xml +++ b/parte_2/tema_2.2_web/web_ejer7/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.3_rest/rest_ejem1/pom.xml b/parte_2/tema_2.3_rest/rest_ejem1/pom.xml index f7a0c48..e105c7a 100644 --- a/parte_2/tema_2.3_rest/rest_ejem1/pom.xml +++ b/parte_2/tema_2.3_rest/rest_ejem1/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.3_rest/rest_ejem10/pom.xml b/parte_2/tema_2.3_rest/rest_ejem10/pom.xml index 2d93c1c..4440776 100644 --- a/parte_2/tema_2.3_rest/rest_ejem10/pom.xml +++ b/parte_2/tema_2.3_rest/rest_ejem10/pom.xml @@ -18,7 +18,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.3_rest/rest_ejem11/pom.xml b/parte_2/tema_2.3_rest/rest_ejem11/pom.xml index 08550a1..e8a79bc 100644 --- a/parte_2/tema_2.3_rest/rest_ejem11/pom.xml +++ b/parte_2/tema_2.3_rest/rest_ejem11/pom.xml @@ -18,7 +18,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.3_rest/rest_ejem2/pom.xml b/parte_2/tema_2.3_rest/rest_ejem2/pom.xml index 34d8f02..d00c481 100644 --- a/parte_2/tema_2.3_rest/rest_ejem2/pom.xml +++ b/parte_2/tema_2.3_rest/rest_ejem2/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.3_rest/rest_ejem3/pom.xml b/parte_2/tema_2.3_rest/rest_ejem3/pom.xml index ed73579..390eebf 100644 --- a/parte_2/tema_2.3_rest/rest_ejem3/pom.xml +++ b/parte_2/tema_2.3_rest/rest_ejem3/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.3_rest/rest_ejem4/pom.xml b/parte_2/tema_2.3_rest/rest_ejem4/pom.xml index 64a93cf..cda0efb 100644 --- a/parte_2/tema_2.3_rest/rest_ejem4/pom.xml +++ b/parte_2/tema_2.3_rest/rest_ejem4/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.3_rest/rest_ejem5/pom.xml b/parte_2/tema_2.3_rest/rest_ejem5/pom.xml index 4834d39..bd77e00 100644 --- a/parte_2/tema_2.3_rest/rest_ejem5/pom.xml +++ b/parte_2/tema_2.3_rest/rest_ejem5/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.3_rest/rest_ejem6/pom.xml b/parte_2/tema_2.3_rest/rest_ejem6/pom.xml index ebc22b0..0a8bbc0 100644 --- a/parte_2/tema_2.3_rest/rest_ejem6/pom.xml +++ b/parte_2/tema_2.3_rest/rest_ejem6/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.3_rest/rest_ejem7/pom.xml b/parte_2/tema_2.3_rest/rest_ejem7/pom.xml index ecffeb8..ee3efa7 100644 --- a/parte_2/tema_2.3_rest/rest_ejem7/pom.xml +++ b/parte_2/tema_2.3_rest/rest_ejem7/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.3_rest/rest_ejem8/pom.xml b/parte_2/tema_2.3_rest/rest_ejem8/pom.xml index f3f72a1..f28e1d1 100644 --- a/parte_2/tema_2.3_rest/rest_ejem8/pom.xml +++ b/parte_2/tema_2.3_rest/rest_ejem8/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.3_rest/rest_ejem9/pom.xml b/parte_2/tema_2.3_rest/rest_ejem9/pom.xml index 45f66ce..562f6aa 100644 --- a/parte_2/tema_2.3_rest/rest_ejem9/pom.xml +++ b/parte_2/tema_2.3_rest/rest_ejem9/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.3_rest/rest_ejer1/pom.xml b/parte_2/tema_2.3_rest/rest_ejer1/pom.xml index 613fa95..c1ecf92 100644 --- a/parte_2/tema_2.3_rest/rest_ejer1/pom.xml +++ b/parte_2/tema_2.3_rest/rest_ejer1/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.5_db/bd_ejem1/pom.xml b/parte_2/tema_2.5_db/bd_ejem1/pom.xml index a70794f..2ee8871 100644 --- a/parte_2/tema_2.5_db/bd_ejem1/pom.xml +++ b/parte_2/tema_2.5_db/bd_ejem1/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.5_db/bd_ejem10/pom.xml b/parte_2/tema_2.5_db/bd_ejem10/pom.xml index 000c176..78f70ec 100644 --- a/parte_2/tema_2.5_db/bd_ejem10/pom.xml +++ b/parte_2/tema_2.5_db/bd_ejem10/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.5_db/bd_ejem11/pom.xml b/parte_2/tema_2.5_db/bd_ejem11/pom.xml index b5a2e5e..251c52e 100644 --- a/parte_2/tema_2.5_db/bd_ejem11/pom.xml +++ b/parte_2/tema_2.5_db/bd_ejem11/pom.xml @@ -15,7 +15,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.5_db/bd_ejem12/pom.xml b/parte_2/tema_2.5_db/bd_ejem12/pom.xml index 950922e..03067d3 100644 --- a/parte_2/tema_2.5_db/bd_ejem12/pom.xml +++ b/parte_2/tema_2.5_db/bd_ejem12/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.5_db/bd_ejem13/pom.xml b/parte_2/tema_2.5_db/bd_ejem13/pom.xml index f1ce402..bf52ef0 100644 --- a/parte_2/tema_2.5_db/bd_ejem13/pom.xml +++ b/parte_2/tema_2.5_db/bd_ejem13/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.5_db/bd_ejem14/pom.xml b/parte_2/tema_2.5_db/bd_ejem14/pom.xml index bb07c20..bd1b1e6 100644 --- a/parte_2/tema_2.5_db/bd_ejem14/pom.xml +++ b/parte_2/tema_2.5_db/bd_ejem14/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.5_db/bd_ejem15/pom.xml b/parte_2/tema_2.5_db/bd_ejem15/pom.xml index b96100f..a6bd93a 100644 --- a/parte_2/tema_2.5_db/bd_ejem15/pom.xml +++ b/parte_2/tema_2.5_db/bd_ejem15/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.5_db/bd_ejem16/pom.xml b/parte_2/tema_2.5_db/bd_ejem16/pom.xml index 3382005..2b0daed 100644 --- a/parte_2/tema_2.5_db/bd_ejem16/pom.xml +++ b/parte_2/tema_2.5_db/bd_ejem16/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.5_db/bd_ejem18/pom.xml b/parte_2/tema_2.5_db/bd_ejem18/pom.xml index 254f98d..283ff3f 100644 --- a/parte_2/tema_2.5_db/bd_ejem18/pom.xml +++ b/parte_2/tema_2.5_db/bd_ejem18/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.5_db/bd_ejem19/pom.xml b/parte_2/tema_2.5_db/bd_ejem19/pom.xml index c3aa152..c80e075 100644 --- a/parte_2/tema_2.5_db/bd_ejem19/pom.xml +++ b/parte_2/tema_2.5_db/bd_ejem19/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.5_db/bd_ejem2/pom.xml b/parte_2/tema_2.5_db/bd_ejem2/pom.xml index 9d48228..0d7afba 100644 --- a/parte_2/tema_2.5_db/bd_ejem2/pom.xml +++ b/parte_2/tema_2.5_db/bd_ejem2/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.5_db/bd_ejem20/pom.xml b/parte_2/tema_2.5_db/bd_ejem20/pom.xml index d73817d..10e7b38 100644 --- a/parte_2/tema_2.5_db/bd_ejem20/pom.xml +++ b/parte_2/tema_2.5_db/bd_ejem20/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.5_db/bd_ejem21/pom.xml b/parte_2/tema_2.5_db/bd_ejem21/pom.xml index ffd6d54..837ae60 100644 --- a/parte_2/tema_2.5_db/bd_ejem21/pom.xml +++ b/parte_2/tema_2.5_db/bd_ejem21/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.5_db/bd_ejem22/pom.xml b/parte_2/tema_2.5_db/bd_ejem22/pom.xml index 1595e0e..55317e1 100644 --- a/parte_2/tema_2.5_db/bd_ejem22/pom.xml +++ b/parte_2/tema_2.5_db/bd_ejem22/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.5_db/bd_ejem3/pom.xml b/parte_2/tema_2.5_db/bd_ejem3/pom.xml index 204fa9a..c33ebb8 100644 --- a/parte_2/tema_2.5_db/bd_ejem3/pom.xml +++ b/parte_2/tema_2.5_db/bd_ejem3/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.5_db/bd_ejem4/pom.xml b/parte_2/tema_2.5_db/bd_ejem4/pom.xml index 290bdfe..5136cd5 100644 --- a/parte_2/tema_2.5_db/bd_ejem4/pom.xml +++ b/parte_2/tema_2.5_db/bd_ejem4/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.5_db/bd_ejem5/pom.xml b/parte_2/tema_2.5_db/bd_ejem5/pom.xml index c170d8b..1e52dd1 100644 --- a/parte_2/tema_2.5_db/bd_ejem5/pom.xml +++ b/parte_2/tema_2.5_db/bd_ejem5/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.5_db/bd_ejem6/pom.xml b/parte_2/tema_2.5_db/bd_ejem6/pom.xml index c6e16ec..ff257f6 100644 --- a/parte_2/tema_2.5_db/bd_ejem6/pom.xml +++ b/parte_2/tema_2.5_db/bd_ejem6/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.5_db/bd_ejem7/pom.xml b/parte_2/tema_2.5_db/bd_ejem7/pom.xml index c582ca6..9df1480 100644 --- a/parte_2/tema_2.5_db/bd_ejem7/pom.xml +++ b/parte_2/tema_2.5_db/bd_ejem7/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.5_db/bd_ejem8/pom.xml b/parte_2/tema_2.5_db/bd_ejem8/pom.xml index 499b583..b4d270e 100644 --- a/parte_2/tema_2.5_db/bd_ejem8/pom.xml +++ b/parte_2/tema_2.5_db/bd_ejem8/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.5_db/bd_ejem9/pom.xml b/parte_2/tema_2.5_db/bd_ejem9/pom.xml index dc5396f..c8d1ebd 100644 --- a/parte_2/tema_2.5_db/bd_ejem9/pom.xml +++ b/parte_2/tema_2.5_db/bd_ejem9/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.5_db/bd_ejer1/pom.xml b/parte_2/tema_2.5_db/bd_ejer1/pom.xml index 6005218..4693167 100644 --- a/parte_2/tema_2.5_db/bd_ejer1/pom.xml +++ b/parte_2/tema_2.5_db/bd_ejer1/pom.xml @@ -14,7 +14,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.5_db/bd_ejer2/pom.xml b/parte_2/tema_2.5_db/bd_ejer2/pom.xml index 5fdca59..8157f80 100644 --- a/parte_2/tema_2.5_db/bd_ejer2/pom.xml +++ b/parte_2/tema_2.5_db/bd_ejer2/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.6_despliegue/despliegue_ejem1/pom.xml b/parte_2/tema_2.6_despliegue/despliegue_ejem1/pom.xml index f1a40eb..07fbff1 100644 --- a/parte_2/tema_2.6_despliegue/despliegue_ejem1/pom.xml +++ b/parte_2/tema_2.6_despliegue/despliegue_ejem1/pom.xml @@ -18,7 +18,7 @@ UTF-8 - 21 + 25 diff --git a/parte_2/tema_2.6_despliegue/despliegue_ejem2/pom.xml b/parte_2/tema_2.6_despliegue/despliegue_ejem2/pom.xml index 85fd31d..1b6e0ea 100644 --- a/parte_2/tema_2.6_despliegue/despliegue_ejem2/pom.xml +++ b/parte_2/tema_2.6_despliegue/despliegue_ejem2/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 diff --git a/parte_3/tema_3.2_colas/comunicacion-rabbitmq-ejem1-consumer/pom.xml b/parte_3/tema_3.2_colas/comunicacion-rabbitmq-ejem1-consumer/pom.xml index b72f006..834d52f 100644 --- a/parte_3/tema_3.2_colas/comunicacion-rabbitmq-ejem1-consumer/pom.xml +++ b/parte_3/tema_3.2_colas/comunicacion-rabbitmq-ejem1-consumer/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_3/tema_3.2_colas/comunicacion-rabbitmq-ejem1-producer/pom.xml b/parte_3/tema_3.2_colas/comunicacion-rabbitmq-ejem1-producer/pom.xml index 150a781..fcdd5c3 100644 --- a/parte_3/tema_3.2_colas/comunicacion-rabbitmq-ejem1-producer/pom.xml +++ b/parte_3/tema_3.2_colas/comunicacion-rabbitmq-ejem1-producer/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_3/tema_3.2_colas/comunicacion-rabbitmq-ejem2-consumer/pom.xml b/parte_3/tema_3.2_colas/comunicacion-rabbitmq-ejem2-consumer/pom.xml index c6b708e..557abbf 100644 --- a/parte_3/tema_3.2_colas/comunicacion-rabbitmq-ejem2-consumer/pom.xml +++ b/parte_3/tema_3.2_colas/comunicacion-rabbitmq-ejem2-consumer/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_3/tema_3.2_colas/comunicacion-rabbitmq-ejem2-producer/pom.xml b/parte_3/tema_3.2_colas/comunicacion-rabbitmq-ejem2-producer/pom.xml index 53c0654..1a094c9 100644 --- a/parte_3/tema_3.2_colas/comunicacion-rabbitmq-ejem2-producer/pom.xml +++ b/parte_3/tema_3.2_colas/comunicacion-rabbitmq-ejem2-producer/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_3/tema_3.2_colas/comunicacion-rabbitmq-ejem3-client/pom.xml b/parte_3/tema_3.2_colas/comunicacion-rabbitmq-ejem3-client/pom.xml index 39bf40d..1abe0f5 100644 --- a/parte_3/tema_3.2_colas/comunicacion-rabbitmq-ejem3-client/pom.xml +++ b/parte_3/tema_3.2_colas/comunicacion-rabbitmq-ejem3-client/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_3/tema_3.2_colas/comunicacion-rabbitmq-ejem3-service/pom.xml b/parte_3/tema_3.2_colas/comunicacion-rabbitmq-ejem3-service/pom.xml index 56998a0..dc36faf 100644 --- a/parte_3/tema_3.2_colas/comunicacion-rabbitmq-ejem3-service/pom.xml +++ b/parte_3/tema_3.2_colas/comunicacion-rabbitmq-ejem3-service/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_3/tema_3.2_websockets/comunicacion-ws-ejem1/pom.xml b/parte_3/tema_3.2_websockets/comunicacion-ws-ejem1/pom.xml index 9ac9756..4e98855 100644 --- a/parte_3/tema_3.2_websockets/comunicacion-ws-ejem1/pom.xml +++ b/parte_3/tema_3.2_websockets/comunicacion-ws-ejem1/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_3/tema_3.2_websockets/comunicacion-ws-ejem2/pom.xml b/parte_3/tema_3.2_websockets/comunicacion-ws-ejem2/pom.xml index a9f9eec..760f812 100644 --- a/parte_3/tema_3.2_websockets/comunicacion-ws-ejem2/pom.xml +++ b/parte_3/tema_3.2_websockets/comunicacion-ws-ejem2/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_4/tema_4.2/aplicacion-java-enunciado/pom.xml b/parte_4/tema_4.2/aplicacion-java-enunciado/pom.xml index 52ddf59..b37a94e 100644 --- a/parte_4/tema_4.2/aplicacion-java-enunciado/pom.xml +++ b/parte_4/tema_4.2/aplicacion-java-enunciado/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 es.urjc.code.daw.tablonanuncios.Application diff --git a/parte_4/tema_4.2/ejemplo-1/jar.Dockerfile b/parte_4/tema_4.2/ejemplo-1/jar.Dockerfile index 256b19a..f5ac17e 100644 --- a/parte_4/tema_4.2/ejemplo-1/jar.Dockerfile +++ b/parte_4/tema_4.2/ejemplo-1/jar.Dockerfile @@ -1,5 +1,5 @@ # Selecciona la imagen base -FROM eclipse-temurin:21-jre +FROM eclipse-temurin:25-jre # Define el directorio de trabajo para el comando WORKDIR /usr/src/app/ diff --git a/parte_4/tema_4.2/ejemplo-1/multistage.Dockerfile b/parte_4/tema_4.2/ejemplo-1/multistage.Dockerfile index a2a721d..73104f7 100644 --- a/parte_4/tema_4.2/ejemplo-1/multistage.Dockerfile +++ b/parte_4/tema_4.2/ejemplo-1/multistage.Dockerfile @@ -1,7 +1,7 @@ ################################################# # Imagen base para el contenedor de compilación ################################################# -FROM maven:3.9.9-eclipse-temurin-21 AS builder +FROM maven:3.9.11-eclipse-temurin-25 AS builder # Define el directorio de trabajo donde ejecutar comandos WORKDIR /project @@ -16,7 +16,7 @@ RUN mvn -B package -DskipTests ################################################# # Imagen base para el contenedor de la aplicación ################################################# -FROM eclipse-temurin:21-jre +FROM eclipse-temurin:25-jre # Define el directorio de trabajo donde se encuentra el JAR WORKDIR /usr/src/app/ diff --git a/parte_4/tema_4.2/ejemplo-1/pom.xml b/parte_4/tema_4.2/ejemplo-1/pom.xml index 52ddf59..b37a94e 100644 --- a/parte_4/tema_4.2/ejemplo-1/pom.xml +++ b/parte_4/tema_4.2/ejemplo-1/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 es.urjc.code.daw.tablonanuncios.Application diff --git a/parte_4/tema_4.2/ejemplo-2/Dockerfile b/parte_4/tema_4.2/ejemplo-2/Dockerfile index 0b0be68..47212c3 100644 --- a/parte_4/tema_4.2/ejemplo-2/Dockerfile +++ b/parte_4/tema_4.2/ejemplo-2/Dockerfile @@ -1,7 +1,7 @@ ################################################# # Imagen base para el contenedor de compilación ################################################# -FROM maven:3.9.9-eclipse-temurin-21 AS builder +FROM maven:3.9.11-eclipse-temurin-25 AS builder # Define el directorio de trabajo donde ejecutar comandos WORKDIR /project @@ -21,7 +21,7 @@ RUN mvn -B -o package -DskipTests ################################################# # Imagen base para el contenedor de la aplicación ################################################# -FROM eclipse-temurin:21-jre +FROM eclipse-temurin:25-jre # Define el directorio de trabajo donde se encuentra el JAR WORKDIR /usr/src/app/ diff --git a/parte_4/tema_4.2/ejemplo-2/pom.xml b/parte_4/tema_4.2/ejemplo-2/pom.xml index 73b559e..fd80b92 100644 --- a/parte_4/tema_4.2/ejemplo-2/pom.xml +++ b/parte_4/tema_4.2/ejemplo-2/pom.xml @@ -10,11 +10,11 @@ UTF-8 - 21 + 25 - 21 - 21 + 25 + 25 6.0.3 diff --git a/parte_4/tema_4.2/ejer4/Dockerfile b/parte_4/tema_4.2/ejer4/Dockerfile index 1f61415..3d96e25 100644 --- a/parte_4/tema_4.2/ejer4/Dockerfile +++ b/parte_4/tema_4.2/ejer4/Dockerfile @@ -1,5 +1,5 @@ # Selecciona la imagen base -FROM maven:3.9.0-eclipse-temurin-17 +FROM maven:3.9.11-eclipse-temurin-25 # Define el directorio de trabajo donde ejecutar comandos WORKDIR /project diff --git a/parte_4/tema_4.2/ejer4/aplicacion-java-enunciado/pom.xml b/parte_4/tema_4.2/ejer4/aplicacion-java-enunciado/pom.xml index 52ddf59..b37a94e 100644 --- a/parte_4/tema_4.2/ejer4/aplicacion-java-enunciado/pom.xml +++ b/parte_4/tema_4.2/ejer4/aplicacion-java-enunciado/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 es.urjc.code.daw.tablonanuncios.Application diff --git a/parte_4/tema_4.2/ejer5/Dockerfile b/parte_4/tema_4.2/ejer5/Dockerfile index 14a0cbd..18b84b9 100644 --- a/parte_4/tema_4.2/ejer5/Dockerfile +++ b/parte_4/tema_4.2/ejer5/Dockerfile @@ -1,7 +1,7 @@ ################################################# # Imagen base para el contenedor de compilación ################################################# -FROM maven:3.9.9-eclipse-temurin-21 AS builder +FROM maven:3.9.11-eclipse-temurin-25 AS builder # Define el directorio de trabajo donde ejecutar comandos WORKDIR /project @@ -21,7 +21,7 @@ RUN mvn -B -o package -DskipTests ################################################# # Imagen base para el contenedor de la aplicación ################################################# -FROM eclipse-temurin:21-jre +FROM eclipse-temurin:25-jre # Define el directorio de trabajo donde se encuentra el JAR WORKDIR /usr/src/app/ diff --git a/parte_4/tema_4.2/ejer5/aplicacion-java-enunciado/pom.xml b/parte_4/tema_4.2/ejer5/aplicacion-java-enunciado/pom.xml index 52ddf59..b37a94e 100644 --- a/parte_4/tema_4.2/ejer5/aplicacion-java-enunciado/pom.xml +++ b/parte_4/tema_4.2/ejer5/aplicacion-java-enunciado/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 es.urjc.code.daw.tablonanuncios.Application diff --git a/parte_4/tema_4.2/ejer6/pom.xml b/parte_4/tema_4.2/ejer6/pom.xml index 4111ac3..3a9a4a6 100644 --- a/parte_4/tema_4.2/ejer6/pom.xml +++ b/parte_4/tema_4.2/ejer6/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 es.urjc.code.daw.tablonanuncios.Application diff --git a/parte_4/tema_4.2/ejer7/pom.xml b/parte_4/tema_4.2/ejer7/pom.xml index effbe76..1090897 100644 --- a/parte_4/tema_4.2/ejer7/pom.xml +++ b/parte_4/tema_4.2/ejer7/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 es.urjc.code.daw.tablonanuncios.Application diff --git a/parte_4/tema_4.2/ejer8/pom.xml b/parte_4/tema_4.2/ejer8/pom.xml index a1f0eeb..2f13cc7 100644 --- a/parte_4/tema_4.2/ejer8/pom.xml +++ b/parte_4/tema_4.2/ejer8/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 es.urjc.code.daw.tablonanuncios.Application diff --git a/parte_4/tema_4.3/ejemplo-1/comunicacion-rabbitmq-ejem3-consumer/Dockerfile b/parte_4/tema_4.3/ejemplo-1/comunicacion-rabbitmq-ejem3-consumer/Dockerfile index 060002b..75f7a94 100644 --- a/parte_4/tema_4.3/ejemplo-1/comunicacion-rabbitmq-ejem3-consumer/Dockerfile +++ b/parte_4/tema_4.3/ejemplo-1/comunicacion-rabbitmq-ejem3-consumer/Dockerfile @@ -1,7 +1,7 @@ ################################################# # Imagen base para el contenedor de compilación ################################################# -FROM maven:3.9.9-eclipse-temurin-21 AS builder +FROM maven:3.9.11-eclipse-temurin-25 AS builder # Define el directorio de trabajo donde ejecutar comandos WORKDIR /project @@ -16,7 +16,7 @@ RUN mvn -B package -DskipTests ################################################# # Imagen base para el contenedor de la aplicación ################################################# -FROM eclipse-temurin:21-jre +FROM eclipse-temurin:25-jre # Define el directorio de trabajo donde se encuentra el JAR WORKDIR /usr/src/app/ diff --git a/parte_4/tema_4.3/ejemplo-1/comunicacion-rabbitmq-ejem3-consumer/pom.xml b/parte_4/tema_4.3/ejemplo-1/comunicacion-rabbitmq-ejem3-consumer/pom.xml index 144fa2e..5fb0d88 100644 --- a/parte_4/tema_4.3/ejemplo-1/comunicacion-rabbitmq-ejem3-consumer/pom.xml +++ b/parte_4/tema_4.3/ejemplo-1/comunicacion-rabbitmq-ejem3-consumer/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_4/tema_4.3/ejemplo-1/comunicacion-rabbitmq-ejem3-producer/Dockerfile b/parte_4/tema_4.3/ejemplo-1/comunicacion-rabbitmq-ejem3-producer/Dockerfile index 85f4ea2..79a866f 100644 --- a/parte_4/tema_4.3/ejemplo-1/comunicacion-rabbitmq-ejem3-producer/Dockerfile +++ b/parte_4/tema_4.3/ejemplo-1/comunicacion-rabbitmq-ejem3-producer/Dockerfile @@ -1,7 +1,7 @@ ################################################# # Imagen base para el contenedor de compilación ################################################# -FROM maven:3.9.9-eclipse-temurin-21 AS builder +FROM maven:3.9.11-eclipse-temurin-25 AS builder # Define el directorio de trabajo donde ejecutar comandos WORKDIR /project @@ -16,7 +16,7 @@ RUN mvn -B package -DskipTests ################################################# # Imagen base para el contenedor de la aplicación ################################################# -FROM eclipse-temurin:21-jre +FROM eclipse-temurin:25-jre # Define el directorio de trabajo donde se encuentra el JAR WORKDIR /usr/src/app/ diff --git a/parte_4/tema_4.3/ejemplo-1/comunicacion-rabbitmq-ejem3-producer/pom.xml b/parte_4/tema_4.3/ejemplo-1/comunicacion-rabbitmq-ejem3-producer/pom.xml index 976424f..ed0996a 100644 --- a/parte_4/tema_4.3/ejemplo-1/comunicacion-rabbitmq-ejem3-producer/pom.xml +++ b/parte_4/tema_4.3/ejemplo-1/comunicacion-rabbitmq-ejem3-producer/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_4/tema_4.3/ejemplo-2/Dockerfile b/parte_4/tema_4.3/ejemplo-2/Dockerfile index 33921fd..992b308 100644 --- a/parte_4/tema_4.3/ejemplo-2/Dockerfile +++ b/parte_4/tema_4.3/ejemplo-2/Dockerfile @@ -1,7 +1,7 @@ ################################################# # Imagen base para el contenedor de compilación ################################################# -FROM maven:3.9.9-eclipse-temurin-21 as builder +FROM maven:3.9.11-eclipse-temurin-25 as builder # Define el directorio de trabajo donde ejecutar comandos WORKDIR /project @@ -21,7 +21,7 @@ RUN mvn -B -o package -DskipTests ################################################# # Imagen base para el contenedor de la aplicación ################################################# -FROM eclipse-temurin:21-jre +FROM eclipse-temurin:25-jre # Define el directorio de trabajo donde se encuentra el JAR WORKDIR /usr/app/ diff --git a/parte_4/tema_4.3/ejemplo-2/pom.xml b/parte_4/tema_4.3/ejemplo-2/pom.xml index 3c1834b..2dd1a24 100644 --- a/parte_4/tema_4.3/ejemplo-2/pom.xml +++ b/parte_4/tema_4.3/ejemplo-2/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 es.codeurjc.test.tablonanuncios.WebApp diff --git a/parte_4/tema_4.3/ejemplo-3/Dockerfile b/parte_4/tema_4.3/ejemplo-3/Dockerfile index 33921fd..992b308 100644 --- a/parte_4/tema_4.3/ejemplo-3/Dockerfile +++ b/parte_4/tema_4.3/ejemplo-3/Dockerfile @@ -1,7 +1,7 @@ ################################################# # Imagen base para el contenedor de compilación ################################################# -FROM maven:3.9.9-eclipse-temurin-21 as builder +FROM maven:3.9.11-eclipse-temurin-25 as builder # Define el directorio de trabajo donde ejecutar comandos WORKDIR /project @@ -21,7 +21,7 @@ RUN mvn -B -o package -DskipTests ################################################# # Imagen base para el contenedor de la aplicación ################################################# -FROM eclipse-temurin:21-jre +FROM eclipse-temurin:25-jre # Define el directorio de trabajo donde se encuentra el JAR WORKDIR /usr/app/ diff --git a/parte_4/tema_4.3/ejemplo-3/pom.xml b/parte_4/tema_4.3/ejemplo-3/pom.xml index 3c1834b..2dd1a24 100644 --- a/parte_4/tema_4.3/ejemplo-3/pom.xml +++ b/parte_4/tema_4.3/ejemplo-3/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 es.codeurjc.test.tablonanuncios.WebApp diff --git a/parte_4/tema_4.3/ejercicio-1-enunciado/pom.xml b/parte_4/tema_4.3/ejercicio-1-enunciado/pom.xml index 3c1834b..2dd1a24 100644 --- a/parte_4/tema_4.3/ejercicio-1-enunciado/pom.xml +++ b/parte_4/tema_4.3/ejercicio-1-enunciado/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 es.codeurjc.test.tablonanuncios.WebApp diff --git a/parte_4/tema_4.3/ejercicio-1/Dockerfile b/parte_4/tema_4.3/ejercicio-1/Dockerfile index 65ae9fd..7b3fdb1 100644 --- a/parte_4/tema_4.3/ejercicio-1/Dockerfile +++ b/parte_4/tema_4.3/ejercicio-1/Dockerfile @@ -1,7 +1,7 @@ ################################################# # Imagen base para el contenedor de compilación ################################################# -FROM maven:3.9.0-eclipse-temurin-17 as builder +FROM maven:3.9.11-eclipse-temurin-25 as builder # Define el directorio de trabajo donde ejecutar comandos WORKDIR /project @@ -21,7 +21,7 @@ RUN mvn -B -o package -DskipTests ################################################# # Imagen base para el contenedor de la aplicación ################################################# -FROM eclipse-temurin:17-jdk +FROM eclipse-temurin:25-jdk # Define el directorio de trabajo donde se encuentra el JAR WORKDIR /usr/src/app/ diff --git a/parte_4/tema_4.3/ejercicio-1/pom.xml b/parte_4/tema_4.3/ejercicio-1/pom.xml index 3c1834b..2dd1a24 100644 --- a/parte_4/tema_4.3/ejercicio-1/pom.xml +++ b/parte_4/tema_4.3/ejercicio-1/pom.xml @@ -17,7 +17,7 @@ UTF-8 - 21 + 25 es.codeurjc.test.tablonanuncios.WebApp diff --git a/parte_5/ejem0-jmeter/Dockerfile b/parte_5/ejem0-jmeter/Dockerfile index 90f4bf3..5cb3796 100644 --- a/parte_5/ejem0-jmeter/Dockerfile +++ b/parte_5/ejem0-jmeter/Dockerfile @@ -1,14 +1,14 @@ # Dockerfile for Spring Boot application # Build stage -FROM maven:3-eclipse-temurin-21 AS build +FROM maven:3-eclipse-temurin-25 AS build WORKDIR /app COPY pom.xml . COPY src ./src RUN mvn package -DskipTests # Run stage -FROM eclipse-temurin:21-jre +FROM eclipse-temurin:25-jre WORKDIR /app COPY --from=build /app/target/ejem0-employee-0.0.1-SNAPSHOT.jar . EXPOSE 8080 diff --git a/parte_5/ejem0-jmeter/pom.xml b/parte_5/ejem0-jmeter/pom.xml index 3bbff11..9bc1e1a 100644 --- a/parte_5/ejem0-jmeter/pom.xml +++ b/parte_5/ejem0-jmeter/pom.xml @@ -27,7 +27,7 @@ - 21 + 25 diff --git a/parte_5/ejem1-jmeter/ejem-1/Dockerfile b/parte_5/ejem1-jmeter/ejem-1/Dockerfile index b1507de..726625c 100644 --- a/parte_5/ejem1-jmeter/ejem-1/Dockerfile +++ b/parte_5/ejem1-jmeter/ejem-1/Dockerfile @@ -1,14 +1,14 @@ # Dockerfile for Spring Boot application # Build stage -FROM maven:3-eclipse-temurin-21 AS build +FROM maven:3-eclipse-temurin-25 AS build WORKDIR /app COPY pom.xml . COPY src ./src RUN mvn package -DskipTests # Run stage -FROM eclipse-temurin:21-jre +FROM eclipse-temurin:25-jre WORKDIR /app COPY --from=build /app/target/*.jar . EXPOSE 8080 diff --git a/parte_5/ejem1-jmeter/ejem-1/pom.xml b/parte_5/ejem1-jmeter/ejem-1/pom.xml index 8db2e6f..ff37e41 100644 --- a/parte_5/ejem1-jmeter/ejem-1/pom.xml +++ b/parte_5/ejem1-jmeter/ejem-1/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_5/ejem1-jmeter/ejem-2-cache-redis/Dockerfile b/parte_5/ejem1-jmeter/ejem-2-cache-redis/Dockerfile index fbdb178..57eba05 100644 --- a/parte_5/ejem1-jmeter/ejem-2-cache-redis/Dockerfile +++ b/parte_5/ejem1-jmeter/ejem-2-cache-redis/Dockerfile @@ -1,14 +1,14 @@ # Dockerfile for Spring Boot application # Build stage -FROM maven:3-eclipse-temurin-21 AS build +FROM maven:3-eclipse-temurin-25 AS build WORKDIR /app COPY pom.xml . COPY src ./src RUN mvn package -DskipTests # Run stage -FROM eclipse-temurin:21-jre +FROM eclipse-temurin:25-jre WORKDIR /app COPY --from=build /app/target/*.jar . EXPOSE 8080 diff --git a/parte_5/ejem1-jmeter/ejem-2-cache-redis/pom.xml b/parte_5/ejem1-jmeter/ejem-2-cache-redis/pom.xml index 730a03f..dec6c27 100644 --- a/parte_5/ejem1-jmeter/ejem-2-cache-redis/pom.xml +++ b/parte_5/ejem1-jmeter/ejem-2-cache-redis/pom.xml @@ -15,7 +15,7 @@ UTF-8 - 21 + 25 diff --git a/parte_5/ejem1-jmeter/ejem-2-cache/Dockerfile b/parte_5/ejem1-jmeter/ejem-2-cache/Dockerfile index 0c77b28..4332963 100644 --- a/parte_5/ejem1-jmeter/ejem-2-cache/Dockerfile +++ b/parte_5/ejem1-jmeter/ejem-2-cache/Dockerfile @@ -1,14 +1,14 @@ # Dockerfile for Spring Boot application # Build stage -FROM maven:3-eclipse-temurin-21 AS build +FROM maven:3-eclipse-temurin-25 AS build WORKDIR /app COPY pom.xml . COPY src ./src RUN mvn package -DskipTests # Run stage -FROM eclipse-temurin:21-jre +FROM eclipse-temurin:25-jre WORKDIR /app COPY --from=build /app/target/*.jar . EXPOSE 8080 diff --git a/parte_5/ejem1-jmeter/ejem-2-cache/pom.xml b/parte_5/ejem1-jmeter/ejem-2-cache/pom.xml index 1712a1b..4801673 100644 --- a/parte_5/ejem1-jmeter/ejem-2-cache/pom.xml +++ b/parte_5/ejem1-jmeter/ejem-2-cache/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_5/ejem3-cache-distribuida/pom.xml b/parte_5/ejem3-cache-distribuida/pom.xml index 45f8ceb..1404e54 100644 --- a/parte_5/ejem3-cache-distribuida/pom.xml +++ b/parte_5/ejem3-cache-distribuida/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_5/ejem3-cache-distribuida2/pom.xml b/parte_5/ejem3-cache-distribuida2/pom.xml index d17fffa..025a120 100644 --- a/parte_5/ejem3-cache-distribuida2/pom.xml +++ b/parte_5/ejem3-cache-distribuida2/pom.xml @@ -16,7 +16,7 @@ UTF-8 - 21 + 25 diff --git a/parte_5/ejem4-haproxy/Dockerfile b/parte_5/ejem4-haproxy/Dockerfile index bd16888..4dd2d23 100644 --- a/parte_5/ejem4-haproxy/Dockerfile +++ b/parte_5/ejem4-haproxy/Dockerfile @@ -1,7 +1,7 @@ ################################################# # Imagen base para el contenedor de compilación ################################################# -FROM maven:3.9.9-eclipse-temurin-21 as builder +FROM maven:3.9.11-eclipse-temurin-25 as builder # Define el directorio de trabajo donde ejecutar comandos WORKDIR /project @@ -21,7 +21,7 @@ RUN mvn -B -o package -DskipTests ################################################# # Imagen base para el contenedor de la aplicación ################################################# -FROM eclipse-temurin:21-jre +FROM eclipse-temurin:25-jre # Define el directorio de trabajo donde se encuentra el JAR WORKDIR /usr/app/ diff --git a/parte_5/ejem4-haproxy/pom.xml b/parte_5/ejem4-haproxy/pom.xml index ff22648..b974e24 100644 --- a/parte_5/ejem4-haproxy/pom.xml +++ b/parte_5/ejem4-haproxy/pom.xml @@ -21,7 +21,7 @@ UTF-8 - 21 + 25 es.codeurjc.tablonanuncios.Application diff --git a/parte_5/ejem4b-haproxy-ssl-passthrough/Dockerfile b/parte_5/ejem4b-haproxy-ssl-passthrough/Dockerfile index 3a873f3..d18c31d 100644 --- a/parte_5/ejem4b-haproxy-ssl-passthrough/Dockerfile +++ b/parte_5/ejem4b-haproxy-ssl-passthrough/Dockerfile @@ -1,8 +1,8 @@ -FROM maven:3.9.0-eclipse-temurin-17 as builder +FROM maven:3.9.11-eclipse-temurin-25 as builder COPY . /src WORKDIR /src RUN mvn package -DskipTests -FROM eclipse-temurin:17.0.6_10-jre +FROM eclipse-temurin:25-jre COPY --from=builder /src/target/ejem4b-haproxy-0.1.0.jar / CMD ["java", "-jar", "ejem4b-haproxy-0.1.0.jar"] \ No newline at end of file diff --git a/parte_5/ejem4b-haproxy-ssl-passthrough/pom.xml b/parte_5/ejem4b-haproxy-ssl-passthrough/pom.xml index a0e578b..531b821 100644 --- a/parte_5/ejem4b-haproxy-ssl-passthrough/pom.xml +++ b/parte_5/ejem4b-haproxy-ssl-passthrough/pom.xml @@ -13,7 +13,7 @@ UTF-8 - 21 + 25 From 06978476df9c2b2c80e486a0498863a2f67b354b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patxi=20Gort=C3=A1zar?= Date: Thu, 29 Oct 2026 11:08:02 +0100 Subject: [PATCH 3/5] Fill the Maven cache once instead of 86 times at once The first run on a branch has no cache, so all 86 build jobs start downloading from Maven Central simultaneously and it answers HTTP 429. That is what failed parte_4/tema_4.3/ejemplo-2 on the previous run: the spring-boot-maven-plugin pom could not be transferred, with no fault in the project. A rerun passed, which is the signature of throttling rather than a build problem. A warm-cache job now resolves every project once, and build depends on it. The cache key setup-java derives from the hash of the pom files is identical across the jobs of a run, so the 86 restore what that one job saved and never reach Central. actions/cache only writes on a miss, so they do not race to save it either. Warming is an optimisation, not a gate: a project that fails to resolve there produces a warning and the matrix still runs, because the verdict belongs to the build jobs. dependency:go-offline also misses what is resolved at test time, such as the surefire provider, so the build step keeps a retry handler for the few requests that still go out. Verified: the loop was run against a stub mvn to check that a failing project warns, is counted, and does not abort the step. Co-Authored-By: Claude Opus 5 --- .github/workflows/maven-build.yml | 49 ++++++++++++++++++- .../ejemplo-1/.devcontainer/Dockerfile | 25 ---------- 2 files changed, 47 insertions(+), 27 deletions(-) delete mode 100644 parte_4/tema_4.2/ejemplo-1/.devcontainer/Dockerfile diff --git a/.github/workflows/maven-build.yml b/.github/workflows/maven-build.yml index bc4bcac..089230d 100644 --- a/.github/workflows/maven-build.yml +++ b/.github/workflows/maven-build.yml @@ -57,9 +57,51 @@ jobs: echo "Proyectos detectados: $count" >> "$GITHUB_STEP_SUMMARY" printf '%s' "$projects" | jq -r '.[]' | sed 's/^/- /' >> "$GITHUB_STEP_SUMMARY" + # Los 86 jobs de build comparten el mismo ~/.m2, pero en la primera + # ejecucion de una rama la cache no existe todavia y los 86 se ponen a + # descargar de Maven Central a la vez, que responde con HTTP 429. Este job + # la rellena una sola vez; los de build la restauran y ya no descargan. + warm-cache: + name: Warm the Maven cache + needs: discover + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up JDK 25 + uses: actions/setup-java@v4 + with: + java-version: '25' + distribution: 'temurin' + cache: maven + + - name: Resolve the dependencies of every project + env: + PROJECTS: ${{ needs.discover.outputs.projects }} + run: | + set -uo pipefail + fallos=0 + + while read -r p; do + echo "::group::$p" + if ! mvn -B -ntp -f "$p/pom.xml" \ + -Dmaven.wagon.http.retryHandler.count=5 \ + dependency:go-offline; then + echo "::warning title=Cache warming::No se pudieron resolver las dependencias de $p" + fallos=$((fallos + 1)) + fi + echo "::endgroup::" + done < <(printf '%s' "$PROJECTS" | jq -r '.[]') + + # Rellenar la cache es una optimizacion, no una comprobacion: el + # veredicto lo da la matriz. Un fallo aqui no corta el flujo. + echo "Proyectos sin resolver: $fallos" >> "$GITHUB_STEP_SUMMARY" + build: name: Build - ${{ matrix.project }} - needs: discover + needs: [discover, warm-cache] runs-on: ubuntu-latest strategy: @@ -71,6 +113,9 @@ jobs: - name: Checkout code uses: actions/checkout@v4 + # Restaura la cache que dejo warm-cache: la clave que usa setup-java + # sale del hash de los pom.xml, identico en los 86 jobs de la misma + # ejecucion, asi que aciertan y no vuelven a guardarla. - name: Set up JDK 25 uses: actions/setup-java@v4 with: @@ -79,7 +124,7 @@ jobs: cache: maven - name: Build with Maven - run: mvn -B -ntp clean verify + run: mvn -B -ntp -Dmaven.wagon.http.retryHandler.count=3 clean verify working-directory: ${{ matrix.project }} result: diff --git a/parte_4/tema_4.2/ejemplo-1/.devcontainer/Dockerfile b/parte_4/tema_4.2/ejemplo-1/.devcontainer/Dockerfile deleted file mode 100644 index fd55574..0000000 --- a/parte_4/tema_4.2/ejemplo-1/.devcontainer/Dockerfile +++ /dev/null @@ -1,25 +0,0 @@ -# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.224.2/containers/java/.devcontainer/base.Dockerfile - -# [Choice] Java version (use -bullseye variants on local arm64/Apple Silicon): 11, 17, 11-bullseye, 17-bullseye, 11-buster, 17-buster -ARG VARIANT="17-bullseye" -FROM mcr.microsoft.com/vscode/devcontainers/java:0-${VARIANT} - -# [Option] Install Maven -ARG INSTALL_MAVEN="false" -ARG MAVEN_VERSION="" -# [Option] Install Gradle -ARG INSTALL_GRADLE="false" -ARG GRADLE_VERSION="" -RUN if [ "${INSTALL_MAVEN}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install maven \"${MAVEN_VERSION}\""; fi \ - && if [ "${INSTALL_GRADLE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install gradle \"${GRADLE_VERSION}\""; fi - -# [Choice] Node.js version: none, lts/*, 16, 14, 12, 10 -ARG NODE_VERSION="none" -RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi - -# [Optional] Uncomment this section to install additional OS packages. -# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ -# && apt-get -y install --no-install-recommends - -# [Optional] Uncomment this line to install global node packages. -# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g " 2>&1 \ No newline at end of file From 8b50f09c4927bd34391906a399505500ee1feb4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patxi=20Gort=C3=A1zar?= Date: Thu, 29 Oct 2026 11:08:13 +0100 Subject: [PATCH 4/5] Move the devcontainer to a java image that still exists The devcontainer pinned VARIANT to 17-bullseye on mcr.microsoft.com/vscode/devcontainers/java, whose :0- tag family stops at 17: there is no 25 to move to, so bumping the argument was not an option. The repository is on Java 25 everywhere else, which left this as the one place still asking for 17. It now uses mcr.microsoft.com/devcontainers/java:3-25-bookworm, the image that replaced it. Maven comes from the java feature with version: none, so the feature adds Maven without installing a second JDK over the one the image ships. The Dockerfile is gone. It existed only to turn INSTALL_MAVEN, INSTALL_GRADLE and NODE_VERSION arguments into sdkman and nvm calls, which is what features do now, and its comments still described a choice between Java 11 and 17. Two more things the old file carried: settings and extensions sat at the top level, which the spec moved under customizations.vscode, and java.home pointed at /docker-java-home, a path the current images do not have. A wrong java.home breaks the Java extension, so it is dropped rather than updated; the extension reads JAVA_HOME. Not verified: nothing in CI builds a devcontainer. The image tag and the feature options were checked against the MCR tag list and the feature definition, not by opening the container. Co-Authored-By: Claude Opus 5 --- .../ejemplo-1/.devcontainer/devcontainer.json | 37 ++++++++----------- 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/parte_4/tema_4.2/ejemplo-1/.devcontainer/devcontainer.json b/parte_4/tema_4.2/ejemplo-1/.devcontainer/devcontainer.json index 3714024..8856dbf 100644 --- a/parte_4/tema_4.2/ejemplo-1/.devcontainer/devcontainer.json +++ b/parte_4/tema_4.2/ejemplo-1/.devcontainer/devcontainer.json @@ -1,30 +1,25 @@ -// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at: -// https://github.com/microsoft/vscode-dev-containers/tree/v0.224.2/containers/java +// For format details, see https://aka.ms/devcontainer.json. For config options, see +// https://github.com/devcontainers/images/tree/main/src/java { "name": "Java", - "build": { - "dockerfile": "Dockerfile", - "args": { - // Update the VARIANT arg to pick a Java version: 11, 17 - // Append -bullseye or -buster to pin to an OS version. - // Use the -bullseye variants on local arm64/Apple Silicon. - "VARIANT": "17-bullseye", - // Options - "INSTALL_MAVEN": "true", - "INSTALL_GRADLE": "false", - "NODE_VERSION": "none" + "image": "mcr.microsoft.com/devcontainers/java:3-25-bookworm", + + // La imagen ya trae el JDK, asi que el feature solo aporta Maven. + "features": { + "ghcr.io/devcontainers/features/java:1": { + "version": "none", + "installMaven": true, + "mavenVersion": "latest" } }, - // Set *default* container specific settings.json values on container create. - "settings": { - "java.home": "/docker-java-home" + "customizations": { + "vscode": { + "extensions": [ + "vscjava.vscode-java-pack" + ] + } }, - - // Add the IDs of extensions you want installed when the container is created. - "extensions": [ - "vscjava.vscode-java-pack" - ], // Use 'forwardPorts' to make a list of ports inside the container available locally. // "forwardPorts": [], From a4ff8450bf3c8e4d36e44cbf9e65bcf9cbf484ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patxi=20Gort=C3=A1zar?= Date: Thu, 29 Oct 2026 12:37:34 +0100 Subject: [PATCH 5/5] Move checkout and setup-java to their current majors The previous run annotated every job twice: setup-java v4 is deprecated and will get no more updates, and both actions target Node 20, which the runners now force onto Node 24. GitHub's own notice says to migrate to setup-java v5, and that advice is already stale: the current majors are setup-java v6 and checkout v7. Going to v5 would mean doing this again shortly. Checked against the release notes rather than assumed: - setup-java v6 drops the legacy adopt and adopt-openj9 distributions. Both workflows ask for temurin, so nothing to change. - v6 renamed jdkFile to jdk-file. Neither workflow uses it. - The ESM rewrite in both v6 and checkout v7 is documented as not user-facing. - checkout v7 blocks checking out a fork PR under pull_request_target and workflow_run. Neither workflow uses those events. One consequence worth expecting: v6 adds .mvn/extensions.xml to the Maven cache key and caches the wrapper distribution separately, so the existing caches do not match the new key. The warm-cache job will download everything once more on the first run after this, and be a hit again from the second. Two things come free with v6: a problem matcher that turns javac errors into annotations on the diff, and a cache-primary-key output, which is a way to assert that warm-cache and the build jobs really agree on the key if that ever needs proving. Co-Authored-By: Claude Opus 5 --- .github/workflows/maven-build.yml | 15 ++++++++------- .github/workflows/update-springboot.yml | 4 ++-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/maven-build.yml b/.github/workflows/maven-build.yml index 089230d..7b07624 100644 --- a/.github/workflows/maven-build.yml +++ b/.github/workflows/maven-build.yml @@ -24,7 +24,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: Find every pom.xml id: find @@ -68,10 +68,10 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: Set up JDK 25 - uses: actions/setup-java@v4 + uses: actions/setup-java@v6 with: java-version: '25' distribution: 'temurin' @@ -111,13 +111,14 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v7 # Restaura la cache que dejo warm-cache: la clave que usa setup-java - # sale del hash de los pom.xml, identico en los 86 jobs de la misma - # ejecucion, asi que aciertan y no vuelven a guardarla. + # sale del hash de los ficheros de build (pom.xml y .mvn/extensions.xml), + # identico en los 86 jobs de la misma ejecucion, asi que aciertan y no + # vuelven a guardarla. - name: Set up JDK 25 - uses: actions/setup-java@v4 + uses: actions/setup-java@v6 with: java-version: '25' distribution: 'temurin' diff --git a/.github/workflows/update-springboot.yml b/.github/workflows/update-springboot.yml index d593b96..9d6ec5c 100644 --- a/.github/workflows/update-springboot.yml +++ b/.github/workflows/update-springboot.yml @@ -17,10 +17,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: Set up JDK - uses: actions/setup-java@v4 + uses: actions/setup-java@v6 with: java-version: ${{ github.event.inputs.java_version }} distribution: 'temurin'