Skip to content

Commit 61be4e4

Browse files
committed
Upgrade to Java 21 and Jakarta EE 10.0
1 parent 692686c commit 61be4e4

326 files changed

Lines changed: 1248 additions & 1954 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,18 @@ This project adheres to [Semantic Versioning](http://semver.org/).
55

66
## [Unreleased]
77

8+
## [21.0.0-SNAPSHOT] - 2026-03-31
9+
### Changed
10+
- Upgraded to Java 21 and Jakarta EE 10
11+
- Migrated `javax.jms.*` to `jakarta.jms.*` in embedded Artemis and JMS test utility classes (`EmbeddedArtemisServerIT`, `MessageConsumerClient`, `MessageConsumerFactory`, `JmsSessionFactory`, `DeadLetterQueueBrowser`, `TopicSender`)
12+
- Replaced `javax.xml.bind:jaxb-api` with `jakarta.xml.bind:jakarta.xml.bind-api` in plugin dependencies
13+
- Removed test module 'embedded-artemis' and all associated code, in order to break the dependency on artemis
14+
- Upgraded OpenEJB from `8.0.13` to `10.0.0` (Jakarta EE 10 compatible) — fixes `@Resource` injection in Application Composer integration tests and removes the need for xbean-asm9 overrides as OpenEJB 10 natively supports Java 21 class files
15+
- Fixed `job-manager-it` integration tests (`JobSchedulerIT`, `JobServiceIT`): `@Resource(name = "openejb/Resource/jobStore")` injection now works correctly with OpenEJB 10 + `jakarta.annotation.Resource`
16+
- Fixed `HasEventsMatcherTest` `UnnecessaryStubbingException`: in `shouldReturnTrueIfAllExpectedEventsAreInTheActualEventList`, `event_3` only appears in `actualEvents` so `fieldNames()` is never called on it via `WildcardTextNodeSupport`; replaced `create("event_3")` with a plain `mock(JsonNode.class, "event_3")` for that node, and replaced `lenient()` stubbing in the `create()` helper with strict `when()` stubbing
17+
- Fixed Maven plugin scope warnings: added `<scope>provided</scope>` to `maven-plugin-api`, `maven-compat`, `maven-core`, and `maven-model` in `annotation-validator-maven-plugin`, `generator-plugin`, and `raml-maven-plugin`; added explicit `provided` declarations for `maven-plugin-api` and `maven-core` in `catalog-generation-plugin` and `pojo-generation-plugin`
18+
- Added `commons-lang3` as an explicit compile dependency to `generator-plugin` (previously pulled in transitively via `maven-core`)
19+
- Fixed `IntegerEnumDeserializer`: changed `super(enumResolver)` to `super(enumResolver, Boolean.FALSE)` — in Jackson 2.15.x the single-arg `EnumDeserializer(EnumResolver)` constructor internally passes `null` for `caseInsensitive` causing `NullPointerException` on unboxing
820

921
# [17.105.0-M2] - 2026-02-26
1022
### Added

annotation-validator/annotation-validator-core/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>uk.gov.justice.maven</groupId>
77
<artifactId>annotation-validator</artifactId>
8-
<version>17.105.0-M3-SNAPSHOT</version>
8+
<version>21.0.0-SNAPSHOT</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

annotation-validator/annotation-validator-maven-plugin/pom.xml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>uk.gov.justice.maven</groupId>
77
<artifactId>annotation-validator</artifactId>
8-
<version>17.105.0-M3-SNAPSHOT</version>
8+
<version>21.0.0-SNAPSHOT</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

@@ -28,21 +28,25 @@
2828
<dependency>
2929
<groupId>org.apache.maven</groupId>
3030
<artifactId>maven-plugin-api</artifactId>
31+
<scope>provided</scope>
3132
</dependency>
3233

3334
<dependency>
3435
<groupId>org.apache.maven</groupId>
3536
<artifactId>maven-compat</artifactId>
37+
<scope>provided</scope>
3638
</dependency>
3739

3840
<dependency>
3941
<groupId>org.apache.maven</groupId>
4042
<artifactId>maven-core</artifactId>
43+
<scope>provided</scope>
4144
</dependency>
4245

4346
<dependency>
4447
<groupId>org.apache.maven</groupId>
4548
<artifactId>maven-model</artifactId>
49+
<scope>provided</scope>
4650
</dependency>
4751

4852
<dependency>
@@ -82,8 +86,18 @@
8286
<artifactId>annotation-validator-core</artifactId>
8387
<version>${project.version}</version>
8488
</dependency>
89+
<dependency>
90+
<groupId>com.google.guava</groupId>
91+
<artifactId>guava</artifactId>
92+
</dependency>
8593

8694
<!-- Test dependencies -->
95+
<dependency>
96+
<groupId>jakarta.inject</groupId>
97+
<artifactId>jakarta.inject-api</artifactId>
98+
<version>${jakarta.inject-api.version}</version>
99+
<scope>test</scope>
100+
</dependency>
87101
<dependency>
88102
<groupId>org.slf4j</groupId>
89103
<artifactId>slf4j-simple</artifactId>

annotation-validator/annotation-validator-maven-plugin/src/test/java/uk/gov/justice/plugin/validator/AnnotationValidatorFactoryTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import uk.gov.justice.plugin.domain.TestAnnotation;
1010
import uk.gov.justice.plugin.exception.ValidatorNotFoundException;
1111

12-
import javax.inject.Inject;
12+
import jakarta.inject.Inject;
1313

1414
import org.junit.jupiter.api.BeforeEach;
1515
import org.junit.jupiter.api.Test;

annotation-validator/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>uk.gov.justice.framework.libraries</groupId>
99
<artifactId>framework-libraries</artifactId>
10-
<version>17.105.0-M3-SNAPSHOT</version>
10+
<version>21.0.0-SNAPSHOT</version>
1111
</parent>
1212

1313
<groupId>uk.gov.justice.maven</groupId>

domain-test-dsl/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>uk.gov.justice.framework.libraries</groupId>
99
<artifactId>framework-libraries</artifactId>
10-
<version>17.105.0-M3-SNAPSHOT</version>
10+
<version>21.0.0-SNAPSHOT</version>
1111
</parent>
1212

1313
<groupId>uk.gov.justice.services</groupId>
@@ -30,7 +30,7 @@
3030
<plugin>
3131
<groupId>org.apache.maven.plugins</groupId>
3232
<artifactId>maven-failsafe-plugin</artifactId>
33-
<version>2.22.2</version>
33+
<version>${plugins.maven.failsafe.version}</version>
3434
<executions>
3535
<execution>
3636
<goals>

domain-test-dsl/src/test/java/uk/gov/justice/services/test/AggregateMethodInvocationTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import uk.gov.justice.services.test.domain.aggregate.GenericAggregate;
1111
import uk.gov.justice.services.test.domain.arg.ComplexArgument;
1212

13-
import java.time.ZoneId;
13+
import java.time.ZoneOffset;
1414
import java.util.UUID;
1515

1616
import org.junit.jupiter.api.BeforeEach;
@@ -85,7 +85,7 @@ public void shouldCallMethodWithDateTimeArgFromFile() throws Exception {
8585

8686
assertMethodInvocations(aggregateWrapper, "doSthWithDateTimeArg", 1,
8787
arrayContaining(ZonedDateTimes.fromString("2017-01-21T16:42:03.522Z")
88-
.withZoneSameInstant(ZoneId.of("UTC"))));
88+
.withZoneSameInstant(ZoneOffset.UTC)));
8989
}
9090

9191
@Test

domain-test-dsl/src/test/java/uk/gov/justice/services/test/matchers/HasEventsMatcherTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public void shouldReturnTrueIfAllExpectedEventsAreInTheActualEventList() throws
4343

4444
final JsonNode event_1 = create("event_1");
4545
final JsonNode event_2 = create("event_2");
46-
final JsonNode event_3 = create("event_3");
46+
final JsonNode event_3 = mock(JsonNode.class, "event_3");
4747

4848
final Description description = mock(Description.class);
4949

embedded-artemis/README.md

Lines changed: 0 additions & 7 deletions
This file was deleted.

embedded-artemis/pom.xml

Lines changed: 0 additions & 108 deletions
This file was deleted.

0 commit comments

Comments
 (0)