You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by bd...@apache.org on 2022/06/01 16:16:34 UTC

[directory-scimple] branch jakarta-packages created (now 91a5170)

This is an automated email from the ASF dual-hosted git repository.

bdemers pushed a change to branch jakarta-packages
in repository https://gitbox.apache.org/repos/asf/directory-scimple.git


      at 91a5170  Migrate to jakarta packages

This branch includes the following new commits:

     new 91a5170  Migrate to jakarta packages

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[directory-scimple] 01/01: Migrate to jakarta packages

Posted by bd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

bdemers pushed a commit to branch jakarta-packages
in repository https://gitbox.apache.org/repos/asf/directory-scimple.git

commit 91a51706282e8528a24d95321c06fd4ad78cb764
Author: Brian Demers <bd...@apache.org>
AuthorDate: Wed Jun 1 12:16:29 2022 -0400

    Migrate to jakarta packages
    
    - Replaced usage of `javax` pacages with the equivalent `jakarta` package
    - Set minimum Java version to 11 (CI currently tests with 11 and 17)
---
 .github/workflows/build.yml                        |  2 +-
 pom.xml                                            | 68 ++++++----------------
 .../directory/scim/client/rest/BaseScimClient.java | 16 ++---
 .../scim/client/rest/ResourceTypesClient.java      | 10 ++--
 .../scim/client/rest/ScimGroupClient.java          |  4 +-
 .../directory/scim/client/rest/ScimSelfClient.java | 10 ++--
 .../directory/scim/client/rest/ScimUserClient.java |  4 +-
 .../rest/legacy/Version1ScimGroupClient.java       |  4 +-
 .../client/rest/legacy/Version1ScimUserClient.java |  4 +-
 scim-common-ws/pom.xml                             | 12 ++--
 .../directory/scim/ws/common/ErrorMessage.java     | 20 +++----
 .../scim/ws/common/JaxRsStatusAdapterType.java     | 10 ++--
 .../apache/directory/scim/ws/common/RestCall.java  |  4 +-
 .../directory/scim/ws/common/RestClientUtil.java   | 12 ++--
 .../directory/scim/ws/common/XmlStatusAdapter.java |  4 +-
 .../exception/BackingStoreChangedException.java    |  4 +-
 .../common/exception/ConflictingDataException.java |  4 +-
 .../ws/common/exception/RestClientException.java   |  4 +-
 .../ws/common/exception/RestServerException.java   |  4 +-
 .../ws/common/exception/ServiceAuthException.java  |  2 +-
 scim-server/scim-server-common/pom.xml             | 21 ++++---
 .../server/configuration/ServerConfiguration.java  |  4 +-
 .../exception/FilterParseExceptionMapper.java      |  6 +-
 .../scim/server/exception/ScimServerException.java |  2 +-
 .../exception/UnableToCreateResourceException.java |  2 +-
 .../exception/UnableToDeleteResourceException.java |  2 +-
 .../exception/UnableToResolveIdException.java      |  2 +-
 .../UnableToRetrieveExtensionsException.java       |  2 +-
 .../UnableToRetrieveResourceException.java         |  2 +-
 .../exception/UnableToUpdateResourceException.java |  2 +-
 .../scim/server/filter/ApiOriginFilter.java        | 17 +++---
 .../directory/scim/server/provider/Provider.java   |  6 +-
 .../scim/server/provider/ProviderRegistry.java     | 14 ++---
 .../scim/server/provider/UpdateRequest.java        |  4 +-
 .../exceptions/ClientFilterException.java          |  2 +-
 .../server/rest/BaseResourceTypeResourceImpl.java  | 24 ++++----
 .../scim/server/rest/BulkResourceImpl.java         | 14 ++---
 .../scim/server/rest/GroupResourceImpl.java        |  8 +--
 .../server/rest/ObjectMapperContextResolver.java   |  6 +-
 .../scim/server/rest/ObjectMapperFactory.java      |  6 +-
 .../server/rest/ResourceTypesResourceImpl.java     | 12 ++--
 .../scim/server/rest/SchemaResourceImpl.java       | 12 ++--
 ...er.java => ScimJacksonXmlBindJsonProvider.java} | 14 ++---
 .../scim/server/rest/ScimResourceHelper.java       |  2 +-
 .../scim/server/rest/SelfResourceImpl.java         | 14 ++---
 .../rest/ServiceProviderConfigResourceImpl.java    | 12 ++--
 .../scim/server/rest/UserResourceImpl.java         | 10 ++--
 .../server/rest/WebApplicationExceptionMapper.java | 18 +++---
 .../directory/scim/server/schema/Registry.java     |  4 +-
 .../schema/ScimExtensionRegistryProducer.java      |  2 +-
 .../scim/server/utility/AttributeUtil.java         |  6 +-
 .../scim/server/utility/EndpointUtil.java          |  6 +-
 .../scim/server/utility/EtagGenerator.java         |  4 +-
 .../scim/server/utility/UriUtilities.java          |  4 +-
 .../scim/server/provider/ProviderRegistryTest.java |  2 +-
 .../scim/server/provider/ProviderTest.java         |  4 +-
 .../scim/server/provider/UpdateRequestTest.java    |  2 +-
 .../rest/BaseResourceTypeResourceImplTest.java     |  6 +-
 .../scim/server/rest/SelfResourceImplTest.java     |  6 +-
 .../server/utility/ExampleObjectExtension.java     | 10 ++--
 .../directory/scim/server/utility/Subobject.java   |  2 +-
 .../scim-server-example/scim-server-memory/pom.xml |  5 +-
 .../memory/extensions/LuckyNumberExtension.java    |  8 +--
 .../scim/example/memory/rest/RestApplication.java  |  4 +-
 .../example/memory/rest/SwaggerJaxrsConfig.java    | 13 ++---
 .../memory/service/InMemoryGroupService.java       |  4 +-
 .../memory/service/InMemorySelfResolverImpl.java   |  4 +-
 .../memory/service/InMemoryUserService.java        |  6 +-
 .../example/memory/service/ScimConfigurator.java   | 10 ++--
 scim-spec/scim-spec-protocol/pom.xml               |  4 +-
 .../spec/adapter/AttributeReferenceAdapter.java    |  2 +-
 .../directory/scim/spec/adapter/FilterAdapter.java |  2 +-
 .../directory/scim/spec/adapter/FilterWrapper.java |  6 +-
 .../spec/protocol/BaseResourceTypeResource.java    | 24 ++++----
 .../directory/scim/spec/protocol/BulkResource.java | 18 +++---
 .../scim/spec/protocol/ErrorMessageType.java       |  4 +-
 .../scim/spec/protocol/GroupResource.java          |  2 +-
 .../scim/spec/protocol/ResourceTypesResource.java  | 16 ++---
 .../scim/spec/protocol/SchemaResource.java         | 16 ++---
 .../scim/spec/protocol/SearchResource.java         | 12 ++--
 .../directory/scim/spec/protocol/SelfResource.java | 22 +++----
 .../protocol/ServiceProviderConfigResource.java    | 16 ++---
 .../directory/scim/spec/protocol/UserResource.java |  2 +-
 .../scim/spec/protocol/data/BulkOperation.java     | 14 ++---
 .../scim/spec/protocol/data/BulkRequest.java       |  8 +--
 .../scim/spec/protocol/data/BulkResponse.java      | 12 ++--
 .../scim/spec/protocol/data/ErrorResponse.java     | 14 ++---
 .../scim/spec/protocol/data/ListResponse.java      |  8 +--
 .../scim/spec/protocol/data/PatchOperation.java    | 14 ++---
 .../protocol/data/PatchOperationPathAdapter.java   |  2 +-
 .../scim/spec/protocol/data/PatchRequest.java      |  8 +--
 .../scim/spec/protocol/data/SearchRequest.java     | 10 ++--
 .../scim/spec/protocol/data/StatusAdapter.java     |  6 +-
 .../spec/protocol/exception/ScimException.java     |  2 +-
 .../scim/spec/protocol/search/SortOrder.java       |  2 +-
 scim-spec/scim-spec-schema/pom.xml                 | 49 ++++++++++------
 .../scim/spec/adapter/Iso8601DateTimeAdapter.java  |  2 +-
 .../scim/spec/adapter/LocalDateTimeAdapter.java    |  2 +-
 .../scim/spec/extension/EnterpriseExtension.java   | 10 ++--
 .../scim/spec/json/ObjectMapperFactory.java        |  8 +--
 .../directory/scim/spec/resources/Address.java     |  8 +--
 .../scim/spec/resources/BaseResource.java          |  8 +--
 .../directory/scim/spec/resources/Email.java       |  8 +--
 .../directory/scim/spec/resources/Entitlement.java |  8 +--
 .../apache/directory/scim/spec/resources/Im.java   |  8 +--
 .../scim/spec/resources/KeyedResource.java         |  8 +--
 .../apache/directory/scim/spec/resources/Name.java |  8 +--
 .../directory/scim/spec/resources/PhoneNumber.java |  8 +--
 .../directory/scim/spec/resources/Photo.java       |  8 +--
 .../apache/directory/scim/spec/resources/Role.java |  8 +--
 .../scim/spec/resources/ScimExtension.java         |  2 +-
 .../directory/scim/spec/resources/ScimGroup.java   |  8 +--
 .../scim/spec/resources/ScimResource.java          | 10 ++--
 .../spec/resources/ScimResourceWithOptionalId.java |  6 +-
 .../directory/scim/spec/resources/ScimUser.java    |  8 +--
 .../scim/spec/resources/X509Certificate.java       |  8 +--
 .../apache/directory/scim/spec/schema/Meta.java    | 12 ++--
 .../scim/spec/schema/ResourceReference.java        | 12 ++--
 .../directory/scim/spec/schema/ResourceType.java   |  8 +--
 .../apache/directory/scim/spec/schema/Schema.java  | 24 ++++----
 .../spec/schema/ServiceProviderConfiguration.java  | 12 ++--
 .../apache/directory/scim/spec/validator/Urn.java  |  4 +-
 .../scim/spec/validator/UrnValidator.java          |  4 +-
 .../directory/scim/spec/schema/SchemaTest.java     |  8 +--
 124 files changed, 528 insertions(+), 549 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 85b06d8..12e790c 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -28,7 +28,7 @@ jobs:
 
     strategy:
       matrix:
-        java: [8, 11, 17]
+        java: [11, 17]
 
     runs-on: ubuntu-latest
 
diff --git a/pom.xml b/pom.xml
index e764853..88324f0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -33,14 +33,17 @@
   <url>https://github.com/apache/directory-scimple</url>
 
   <properties>
-    <maven.compiler.source>8</maven.compiler.source>
-    <maven.compiler.target>8</maven.compiler.target>
+    <jdk.version>11</jdk.version>
+    <maven.compiler.source>${jdk.version}</maven.compiler.source>
+    <maven.compiler.target>${jdk.version}</maven.compiler.target>
+    <maven.compiler.release>${jdk.version}</maven.compiler.release>
     <version.jackson>2.13.3</version.jackson>
     <version.lombok>1.18.24</version.lombok>
     <version.lombok.plugin>1.18.20.0</version.lombok.plugin>
     <version.restfuse>1.2.0</version.restfuse>
     <version.slf4j>1.7.36</version.slf4j>
     <version.antlr4>4.5.3</version.antlr4>
+    <version.resteasy>6.0.1.Final</version.resteasy>
   </properties>
 
   <modules>
@@ -146,47 +149,6 @@
         <version>2.23-SNAPSHOT</version>
       </dependency>
 
-      <dependency>
-        <groupId>javax.ejb</groupId>
-        <artifactId>javax.ejb-api</artifactId>
-        <version>3.2.2</version>
-      </dependency>
-      <dependency>
-        <groupId>javax.enterprise</groupId>
-        <artifactId>cdi-api</artifactId>
-        <version>2.0</version>
-      </dependency>
-      <dependency>
-        <groupId>javax.servlet</groupId>
-        <artifactId>javax.servlet-api</artifactId>
-        <version>4.0.1</version>
-      </dependency>
-      <dependency>
-        <groupId>javax.inject</groupId>
-        <artifactId>javax.inject</artifactId>
-        <version>1</version>
-      </dependency>
-      <dependency>
-        <groupId>javax</groupId>
-        <artifactId>javaee-api</artifactId>
-        <version>7.0</version>
-        <scope>provided</scope>
-      </dependency>
-      <dependency>
-        <groupId>javax.ws.rs</groupId>
-        <artifactId>javax.ws.rs-api</artifactId>
-        <version>2.1.1</version>
-      </dependency>
-      <dependency>
-        <groupId>javax.xml.bind</groupId>
-        <artifactId>jaxb-api</artifactId>
-        <version>2.3.1</version>
-      </dependency>
-      <dependency>
-        <groupId>javax.validation</groupId>
-        <artifactId>validation-api</artifactId>
-        <version>2.0.1.Final</version>
-      </dependency>
       <dependency>
         <groupId>org.jboss.weld.se</groupId>
         <artifactId>weld-se</artifactId>
@@ -203,6 +165,13 @@
         <version>${version.lombok}</version>
       </dependency>
 
+      <dependency>
+        <groupId>jakarta.platform</groupId>
+        <artifactId>jakarta.jakartaee-bom</artifactId>
+        <version>9.1.0</version>
+        <scope>import</scope>
+        <type>pom</type>
+      </dependency>
       <dependency>
         <groupId>org.junit</groupId>
         <artifactId>junit-bom</artifactId>
@@ -226,27 +195,27 @@
         <scope>import</scope>
       </dependency>
       <dependency>
-        <groupId>org.hibernate</groupId>
+        <groupId>org.hibernate.validator</groupId>
         <artifactId>hibernate-validator</artifactId>
-        <version>5.4.3.Final</version>
+        <version>7.0.4.Final</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.glassfish</groupId>
-        <artifactId>javax.el</artifactId>
-        <version>3.0.1-b12</version>
+        <artifactId>jakarta.el</artifactId>
+        <version>4.0.2</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.jboss.resteasy</groupId>
         <artifactId>resteasy-client</artifactId>
-        <version>4.7.4.Final</version>
+        <version>${version.resteasy}</version>
         <scope>test</scope>
       </dependency>
       <dependency>
         <groupId>org.jboss.resteasy</groupId>
         <artifactId>resteasy-jackson2-provider</artifactId>
-        <version>6.0.1.Final</version>
+        <version>${version.resteasy}</version>
         <scope>test</scope>
       </dependency>
       <!-- Guava is a transitive dep, forcing a newer version to avoid older vulns -->
@@ -442,6 +411,7 @@
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-javadoc-plugin</artifactId>
+          <version>3.4.0</version>
           <executions>
             <execution>
               <id>attach-javadocs</id>
diff --git a/scim-client/src/main/java/org/apache/directory/scim/client/rest/BaseScimClient.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/BaseScimClient.java
index 4fd0980..dcb2e7e 100644
--- a/scim-client/src/main/java/org/apache/directory/scim/client/rest/BaseScimClient.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/BaseScimClient.java
@@ -23,14 +23,14 @@ import java.util.Optional;
 import java.util.Set;
 import java.util.function.Function;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
 
 import org.apache.directory.scim.spec.adapter.FilterWrapper;
 import org.apache.directory.scim.spec.annotation.ScimResourceType;
diff --git a/scim-client/src/main/java/org/apache/directory/scim/client/rest/ResourceTypesClient.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ResourceTypesClient.java
index 139a60a..f6efba2 100644
--- a/scim-client/src/main/java/org/apache/directory/scim/client/rest/ResourceTypesClient.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ResourceTypesClient.java
@@ -22,11 +22,11 @@ package org.apache.directory.scim.client.rest;
 import java.util.List;
 import java.util.Optional;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Response;
 
 import org.apache.directory.scim.spec.protocol.ResourceTypesResource;
 import org.apache.directory.scim.spec.schema.ResourceType;
diff --git a/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimGroupClient.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimGroupClient.java
index 5ae3aee..860c5c8 100644
--- a/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimGroupClient.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimGroupClient.java
@@ -19,8 +19,8 @@
 
 package org.apache.directory.scim.client.rest;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.GenericType;
 
 import org.apache.directory.scim.spec.protocol.data.ListResponse;
 import org.apache.directory.scim.spec.resources.ScimGroup;
diff --git a/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimSelfClient.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimSelfClient.java
index 33adef2..c07fd0e 100644
--- a/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimSelfClient.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimSelfClient.java
@@ -19,11 +19,11 @@
 
 package org.apache.directory.scim.client.rest;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
 
 import org.apache.directory.scim.spec.protocol.Constants;
 import org.apache.directory.scim.spec.protocol.SelfResource;
diff --git a/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimUserClient.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimUserClient.java
index 54493b0..8b6644f 100644
--- a/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimUserClient.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/ScimUserClient.java
@@ -19,8 +19,8 @@
 
 package org.apache.directory.scim.client.rest;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.GenericType;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.GenericType;
 
 import org.apache.directory.scim.spec.protocol.data.ListResponse;
 import org.apache.directory.scim.spec.resources.ScimUser;
diff --git a/scim-client/src/main/java/org/apache/directory/scim/client/rest/legacy/Version1ScimGroupClient.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/legacy/Version1ScimGroupClient.java
index 64df96c..88961f8 100644
--- a/scim-client/src/main/java/org/apache/directory/scim/client/rest/legacy/Version1ScimGroupClient.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/legacy/Version1ScimGroupClient.java
@@ -19,8 +19,8 @@
 
 package org.apache.directory.scim.client.rest.legacy;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.MediaType;
 
 import org.apache.directory.scim.client.rest.ScimGroupClient;
 import org.apache.directory.scim.ws.common.RestCall;
diff --git a/scim-client/src/main/java/org/apache/directory/scim/client/rest/legacy/Version1ScimUserClient.java b/scim-client/src/main/java/org/apache/directory/scim/client/rest/legacy/Version1ScimUserClient.java
index 30027a6..c60c9a4 100644
--- a/scim-client/src/main/java/org/apache/directory/scim/client/rest/legacy/Version1ScimUserClient.java
+++ b/scim-client/src/main/java/org/apache/directory/scim/client/rest/legacy/Version1ScimUserClient.java
@@ -19,8 +19,8 @@
 
 package org.apache.directory.scim.client.rest.legacy;
 
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.MediaType;
 
 import org.apache.directory.scim.client.rest.ScimUserClient;
 import org.apache.directory.scim.ws.common.RestCall;
diff --git a/scim-common-ws/pom.xml b/scim-common-ws/pom.xml
index 13d7f71..fccc8f6 100644
--- a/scim-common-ws/pom.xml
+++ b/scim-common-ws/pom.xml
@@ -39,16 +39,16 @@
     </dependency>
 
     <dependency>
-      <groupId>javax.ws.rs</groupId>
-      <artifactId>javax.ws.rs-api</artifactId>
+      <groupId>jakarta.ws.rs</groupId>
+      <artifactId>jakarta.ws.rs-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>javax.ejb</groupId>
-      <artifactId>javax.ejb-api</artifactId>
+      <groupId>jakarta.ejb</groupId>
+      <artifactId>jakarta.ejb-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>javax.xml.bind</groupId>
-      <artifactId>jaxb-api</artifactId>
+      <groupId>jakarta.xml.bind</groupId>
+      <artifactId>jakarta.xml.bind-api</artifactId>
     </dependency>
 
     <dependency>
diff --git a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/ErrorMessage.java b/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/ErrorMessage.java
index ac17c21..370fba5 100644
--- a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/ErrorMessage.java
+++ b/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/ErrorMessage.java
@@ -23,16 +23,16 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.ResponseBuilder;
-import javax.ws.rs.core.Response.Status;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.ResponseBuilder;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlElementWrapper;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.NONE)
diff --git a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/JaxRsStatusAdapterType.java b/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/JaxRsStatusAdapterType.java
index be1d08c..01bbc7e 100644
--- a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/JaxRsStatusAdapterType.java
+++ b/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/JaxRsStatusAdapterType.java
@@ -16,11 +16,11 @@
  */
 package org.apache.directory.scim.ws.common;
 
-import javax.ws.rs.core.Response.Status;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 @XmlRootElement(name = "error-message")
 @XmlAccessorType(XmlAccessType.NONE)
diff --git a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/RestCall.java b/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/RestCall.java
index 95e087c..cf3ae50 100644
--- a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/RestCall.java
+++ b/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/RestCall.java
@@ -16,8 +16,8 @@
  */
 package org.apache.directory.scim.ws.common;
 
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.core.Response;
 import org.apache.directory.scim.ws.common.exception.RestClientException;
 
 /**
diff --git a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/RestClientUtil.java b/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/RestClientUtil.java
index 7bc05c3..e4ce6dc 100644
--- a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/RestClientUtil.java
+++ b/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/RestClientUtil.java
@@ -20,12 +20,12 @@ import java.util.Optional;
 import java.util.function.Consumer;
 import java.util.function.Function;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.core.Response.Status.Family;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.GenericType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.Response.Status.Family;
 import org.apache.directory.scim.ws.common.exception.BackingStoreChangedException;
 import org.apache.directory.scim.ws.common.exception.BadUrlException;
 import org.apache.directory.scim.ws.common.exception.ConflictingDataException;
diff --git a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/XmlStatusAdapter.java b/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/XmlStatusAdapter.java
index f863b64..8199665 100644
--- a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/XmlStatusAdapter.java
+++ b/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/XmlStatusAdapter.java
@@ -16,8 +16,8 @@
  */
 package org.apache.directory.scim.ws.common;
 
-import javax.ws.rs.core.Response.Status;
-import javax.xml.bind.annotation.adapters.XmlAdapter;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.xml.bind.annotation.adapters.XmlAdapter;
 
 public final class XmlStatusAdapter extends XmlAdapter<JaxRsStatusAdapterType, Status>
 {
diff --git a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/BackingStoreChangedException.java b/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/BackingStoreChangedException.java
index 9784f64..42c0ef6 100644
--- a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/BackingStoreChangedException.java
+++ b/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/BackingStoreChangedException.java
@@ -16,8 +16,8 @@
  */
 package org.apache.directory.scim.ws.common.exception;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Response;
 import org.apache.directory.scim.ws.common.ErrorMessage;
 
 public class BackingStoreChangedException extends Exception {
diff --git a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/ConflictingDataException.java b/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/ConflictingDataException.java
index fac48e4..b8ecd43 100644
--- a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/ConflictingDataException.java
+++ b/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/ConflictingDataException.java
@@ -16,8 +16,8 @@
  */
 package org.apache.directory.scim.ws.common.exception;
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Response;
 import org.apache.directory.scim.ws.common.ErrorMessage;
 
 public class ConflictingDataException extends Exception {
diff --git a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/RestClientException.java b/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/RestClientException.java
index 459ca08..605c4bd 100644
--- a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/RestClientException.java
+++ b/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/RestClientException.java
@@ -33,8 +33,8 @@ package org.apache.directory.scim.ws.common.exception;
  * under the License.
  */
 
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.ProcessingException;
+import jakarta.ws.rs.core.Response;
 import org.apache.directory.scim.ws.common.ErrorMessage;
 
 public class RestClientException extends Exception {
diff --git a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/RestServerException.java b/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/RestServerException.java
index f69e9d0..870e49c 100644
--- a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/RestServerException.java
+++ b/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/RestServerException.java
@@ -16,8 +16,8 @@
  */
 package org.apache.directory.scim.ws.common.exception;
 
-import javax.ejb.ApplicationException;
-import javax.ws.rs.core.Response;
+import jakarta.ejb.ApplicationException;
+import jakarta.ws.rs.core.Response;
 import org.apache.directory.scim.ws.common.ErrorMessage;
 
 @ApplicationException
diff --git a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/ServiceAuthException.java b/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/ServiceAuthException.java
index 1ffb3ae..2e0bd47 100644
--- a/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/ServiceAuthException.java
+++ b/scim-common-ws/src/main/java/org/apache/directory/scim/ws/common/exception/ServiceAuthException.java
@@ -16,7 +16,7 @@
  */
 package org.apache.directory.scim.ws.common.exception;
 
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
 import org.apache.directory.scim.ws.common.ErrorMessage;
 
 public class ServiceAuthException extends Exception {
diff --git a/scim-server/scim-server-common/pom.xml b/scim-server/scim-server-common/pom.xml
index 00b2928..185a1e3 100644
--- a/scim-server/scim-server-common/pom.xml
+++ b/scim-server/scim-server-common/pom.xml
@@ -30,25 +30,24 @@
 
   <dependencies>
     <dependency>
-      <groupId>javax.servlet</groupId>
-      <artifactId>javax.servlet-api</artifactId>
+      <groupId>jakarta.servlet</groupId>
+      <artifactId>jakarta.servlet-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>javax.inject</groupId>
-      <artifactId>javax.inject</artifactId>
+      <groupId>jakarta.inject</groupId>
+      <artifactId>jakarta.inject-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>javax.ejb</groupId>
-      <artifactId>javax.ejb-api</artifactId>
+      <groupId>jakarta.ejb</groupId>
+      <artifactId>jakarta.ejb-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>javax.enterprise</groupId>
-      <artifactId>cdi-api</artifactId>
+      <groupId>jakarta.enterprise</groupId>
+      <artifactId>jakarta.enterprise.cdi-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>javax.annotation</groupId>
-      <artifactId>javax.annotation-api</artifactId>
-      <version>1.3.2</version>
+      <groupId>jakarta.annotation</groupId>
+      <artifactId>jakarta.annotation-api</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.directory.scim</groupId>
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/configuration/ServerConfiguration.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/configuration/ServerConfiguration.java
index a653358..41445f1 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/configuration/ServerConfiguration.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/configuration/ServerConfiguration.java
@@ -23,8 +23,8 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Named;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Named;
 
 import lombok.AccessLevel;
 import lombok.Data;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/FilterParseExceptionMapper.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/FilterParseExceptionMapper.java
index e8b4565..c4bd212 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/FilterParseExceptionMapper.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/FilterParseExceptionMapper.java
@@ -19,9 +19,9 @@
 
 package org.apache.directory.scim.server.exception;
 
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.ext.ExceptionMapper;
 
 import org.apache.directory.scim.spec.protocol.ErrorMessageType;
 import org.apache.directory.scim.spec.protocol.data.ErrorResponse;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/ScimServerException.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/ScimServerException.java
index e42cd8e..d9f6774 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/ScimServerException.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/ScimServerException.java
@@ -19,7 +19,7 @@
 
 package org.apache.directory.scim.server.exception;
 
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.Response.Status;
 
 import org.apache.directory.scim.spec.protocol.ErrorMessageType;
 import org.apache.directory.scim.spec.protocol.data.ErrorResponse;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/UnableToCreateResourceException.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/UnableToCreateResourceException.java
index d88b618..33b58d2 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/UnableToCreateResourceException.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/UnableToCreateResourceException.java
@@ -19,7 +19,7 @@
 
 package org.apache.directory.scim.server.exception;
 
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.Response.Status;
 
 import lombok.Data;
 import lombok.EqualsAndHashCode;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/UnableToDeleteResourceException.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/UnableToDeleteResourceException.java
index 744ead3..34cac25 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/UnableToDeleteResourceException.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/UnableToDeleteResourceException.java
@@ -19,7 +19,7 @@
 
 package org.apache.directory.scim.server.exception;
 
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.Response.Status;
 
 import lombok.Data;
 import lombok.EqualsAndHashCode;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/UnableToResolveIdException.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/UnableToResolveIdException.java
index f2e18d1..a347029 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/UnableToResolveIdException.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/UnableToResolveIdException.java
@@ -19,7 +19,7 @@
 
 package org.apache.directory.scim.server.exception;
 
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.Response.Status;
 
 import lombok.Data;
 import lombok.EqualsAndHashCode;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/UnableToRetrieveExtensionsException.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/UnableToRetrieveExtensionsException.java
index dabe27d..c89110d 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/UnableToRetrieveExtensionsException.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/UnableToRetrieveExtensionsException.java
@@ -19,7 +19,7 @@
 
 package org.apache.directory.scim.server.exception;
 
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.Response.Status;
 
 import lombok.Data;
 import lombok.EqualsAndHashCode;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/UnableToRetrieveResourceException.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/UnableToRetrieveResourceException.java
index 66ca9f3..5685381 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/UnableToRetrieveResourceException.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/UnableToRetrieveResourceException.java
@@ -19,7 +19,7 @@
 
 package org.apache.directory.scim.server.exception;
 
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.Response.Status;
 
 import lombok.Data;
 import lombok.EqualsAndHashCode;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/UnableToUpdateResourceException.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/UnableToUpdateResourceException.java
index f972ac8..589bee2 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/UnableToUpdateResourceException.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/exception/UnableToUpdateResourceException.java
@@ -19,7 +19,7 @@
 
 package org.apache.directory.scim.server.exception;
 
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.Response.Status;
 
 import lombok.Data;
 import lombok.EqualsAndHashCode;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/filter/ApiOriginFilter.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/filter/ApiOriginFilter.java
index 22604da..cf4b9b8 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/filter/ApiOriginFilter.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/filter/ApiOriginFilter.java
@@ -21,15 +21,16 @@ package org.apache.directory.scim.server.filter;
 
 import java.io.IOException;
 
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
 
 //@WebFilter(filterName = "ScimCorsFilter", urlPatterns = {"/*"})
-public class ApiOriginFilter implements javax.servlet.Filter {
+public class ApiOriginFilter implements Filter {
 
     @Override
     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
@@ -47,4 +48,4 @@ public class ApiOriginFilter implements javax.servlet.Filter {
     @Override
     public void destroy() {
     }
-}
\ No newline at end of file
+}
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/provider/Provider.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/provider/Provider.java
index 383b58f..fc3496a 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/provider/Provider.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/provider/Provider.java
@@ -21,9 +21,9 @@ package org.apache.directory.scim.server.provider;
 
 import java.util.List;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
 
 import org.apache.directory.scim.server.exception.UnableToCreateResourceException;
 import org.apache.directory.scim.server.exception.UnableToDeleteResourceException;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/provider/ProviderRegistry.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/provider/ProviderRegistry.java
index e388fb4..ddce62a 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/provider/ProviderRegistry.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/provider/ProviderRegistry.java
@@ -30,13 +30,13 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import javax.ejb.Lock;
-import javax.ejb.LockType;
-import javax.ejb.Singleton;
-import javax.ejb.Startup;
-import javax.enterprise.inject.Instance;
-import javax.inject.Inject;
-import javax.xml.bind.annotation.XmlEnumValue;
+import jakarta.ejb.Lock;
+import jakarta.ejb.LockType;
+import jakarta.ejb.Singleton;
+import jakarta.ejb.Startup;
+import jakarta.enterprise.inject.Instance;
+import jakarta.inject.Inject;
+import jakarta.xml.bind.annotation.XmlEnumValue;
 
 import org.apache.directory.scim.common.ScimUtils;
 import org.apache.directory.scim.server.exception.InvalidProviderException;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/provider/UpdateRequest.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/provider/UpdateRequest.java
index 75e9d84..e1d8057 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/provider/UpdateRequest.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/provider/UpdateRequest.java
@@ -54,8 +54,8 @@ import org.apache.directory.scim.spec.schema.AttributeContainer;
 import org.apache.directory.scim.spec.schema.Schema;
 import org.apache.directory.scim.spec.schema.Schema.Attribute;
 
-import javax.inject.Inject;
-import javax.inject.Named;
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
 import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/provider/extensions/exceptions/ClientFilterException.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/provider/extensions/exceptions/ClientFilterException.java
index ff24fa8..7822dd0 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/provider/extensions/exceptions/ClientFilterException.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/provider/extensions/exceptions/ClientFilterException.java
@@ -19,7 +19,7 @@
 
 package org.apache.directory.scim.server.provider.extensions.exceptions;
 
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.Response.Status;
 
 import lombok.Data;
 import lombok.EqualsAndHashCode;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/BaseResourceTypeResourceImpl.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/BaseResourceTypeResourceImpl.java
index 29b54c0..25b3422 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/BaseResourceTypeResourceImpl.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/BaseResourceTypeResourceImpl.java
@@ -29,18 +29,18 @@ import java.util.List;
 import java.util.Optional;
 import java.util.Set;
 
-import javax.enterprise.inject.Instance;
-import javax.enterprise.inject.spi.CDI;
-import javax.inject.Inject;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.EntityTag;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.ResponseBuilder;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.core.Response.Status.Family;
-import javax.ws.rs.core.UriInfo;
+import jakarta.enterprise.inject.Instance;
+import jakarta.enterprise.inject.spi.CDI;
+import jakarta.inject.Inject;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.EntityTag;
+import jakarta.ws.rs.core.Request;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.ResponseBuilder;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.Response.Status.Family;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/BulkResourceImpl.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/BulkResourceImpl.java
index 7aca970..a5aead2 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/BulkResourceImpl.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/BulkResourceImpl.java
@@ -30,13 +30,13 @@ import java.util.Map;
 import java.util.Set;
 import java.util.regex.Pattern;
 
-import javax.ejb.Stateless;
-import javax.enterprise.inject.Instance;
-import javax.enterprise.inject.spi.CDI;
-import javax.inject.Inject;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ejb.Stateless;
+import jakarta.enterprise.inject.Instance;
+import jakarta.enterprise.inject.spi.CDI;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.apache.directory.scim.server.exception.UnableToCreateResourceException;
 import org.apache.directory.scim.server.exception.UnableToDeleteResourceException;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/GroupResourceImpl.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/GroupResourceImpl.java
index 77e882d..828e167 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/GroupResourceImpl.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/GroupResourceImpl.java
@@ -22,10 +22,10 @@
  */
 package org.apache.directory.scim.server.rest;
 
-import javax.ejb.Stateless;
-import javax.enterprise.inject.Instance;
-import javax.enterprise.inject.spi.CDI;
-import javax.enterprise.util.TypeLiteral;
+import jakarta.ejb.Stateless;
+import jakarta.enterprise.inject.Instance;
+import jakarta.enterprise.inject.spi.CDI;
+import jakarta.enterprise.util.TypeLiteral;
 
 import org.apache.directory.scim.server.provider.Provider;
 import org.apache.directory.scim.spec.protocol.GroupResource;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ObjectMapperContextResolver.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ObjectMapperContextResolver.java
index 2412e7d..8e375c2 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ObjectMapperContextResolver.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ObjectMapperContextResolver.java
@@ -19,15 +19,15 @@
 
 package org.apache.directory.scim.server.rest;
 
-import javax.inject.Inject;
-import javax.ws.rs.ext.ContextResolver;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.ext.ContextResolver;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 
 import org.apache.directory.scim.server.schema.Registry;
 
 /**
- * @deprecated Use {@link ScimJacksonJaxbJsonProvider} instead.
+ * @deprecated Use {@link ScimJacksonXmlBindJsonProvider} instead.
  */
 @Deprecated
 public class ObjectMapperContextResolver implements ContextResolver<ObjectMapper> {
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ObjectMapperFactory.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ObjectMapperFactory.java
index 0266f7b..db884bb 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ObjectMapperFactory.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ObjectMapperFactory.java
@@ -26,9 +26,9 @@ import com.fasterxml.jackson.databind.module.SimpleModule;
 import org.apache.directory.scim.server.schema.Registry;
 import org.apache.directory.scim.spec.resources.ScimResource;
 
-import javax.enterprise.inject.Produces;
-import javax.inject.Inject;
-import javax.ws.rs.ext.Provider;
+import jakarta.enterprise.inject.Produces;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * Creates and configures an {@link ObjectMapper} used for {@code application/scim+json} parsing.
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ResourceTypesResourceImpl.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ResourceTypesResourceImpl.java
index f30f0e8..5e64da5 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ResourceTypesResourceImpl.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ResourceTypesResourceImpl.java
@@ -23,12 +23,12 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import javax.ejb.Stateless;
-import javax.inject.Inject;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ejb.Stateless;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.apache.directory.scim.server.schema.Registry;
 import org.apache.directory.scim.spec.protocol.ResourceTypesResource;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/SchemaResourceImpl.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/SchemaResourceImpl.java
index 5aa9d88..e6b9de0 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/SchemaResourceImpl.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/SchemaResourceImpl.java
@@ -23,12 +23,12 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import javax.ejb.Stateless;
-import javax.inject.Inject;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ejb.Stateless;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.apache.directory.scim.server.schema.Registry;
 import org.apache.directory.scim.spec.protocol.SchemaResource;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ScimJacksonJaxbJsonProvider.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ScimJacksonXmlBindJsonProvider.java
similarity index 77%
rename from scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ScimJacksonJaxbJsonProvider.java
rename to scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ScimJacksonXmlBindJsonProvider.java
index 421191d..6844070 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ScimJacksonJaxbJsonProvider.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ScimJacksonXmlBindJsonProvider.java
@@ -20,13 +20,13 @@
 package org.apache.directory.scim.server.rest;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider;
+import com.fasterxml.jackson.jakarta.rs.json.JacksonXmlBindJsonProvider;
 import org.apache.directory.scim.spec.protocol.Constants;
 
-import javax.inject.Inject;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.ext.Provider;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.ext.Provider;
 
 /**
  * Adds JacksonJaxbJsonProvider for custom MediaType {@code application/scim+json}.
@@ -34,10 +34,10 @@ import javax.ws.rs.ext.Provider;
 @Provider
 @Consumes(Constants.SCIM_CONTENT_TYPE)
 @Produces(Constants.SCIM_CONTENT_TYPE)
-public class ScimJacksonJaxbJsonProvider extends JacksonJaxbJsonProvider {
+public class ScimJacksonXmlBindJsonProvider extends JacksonXmlBindJsonProvider {
 
   @Inject
-  public ScimJacksonJaxbJsonProvider(ObjectMapper objectMapper) {
+  public ScimJacksonXmlBindJsonProvider(ObjectMapper objectMapper) {
     super(objectMapper, DEFAULT_ANNOTATIONS);
   }
 }
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ScimResourceHelper.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ScimResourceHelper.java
index 0e09681..dc01c7b 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ScimResourceHelper.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ScimResourceHelper.java
@@ -58,7 +58,7 @@ public final class ScimResourceHelper {
     clazzez.add(FilterParseExceptionMapper.class);
 
     // handle MediaType of application/scim+json
-    clazzez.add(ScimJacksonJaxbJsonProvider.class);
+    clazzez.add(ScimJacksonXmlBindJsonProvider.class);
 
     return clazzez;
   }
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/SelfResourceImpl.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/SelfResourceImpl.java
index 00b3b78..11d0090 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/SelfResourceImpl.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/SelfResourceImpl.java
@@ -21,13 +21,13 @@ package org.apache.directory.scim.server.rest;
 
 import java.security.Principal;
 
-import javax.annotation.Resource;
-import javax.ejb.SessionContext;
-import javax.ejb.Stateless;
-import javax.enterprise.inject.Instance;
-import javax.inject.Inject;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.annotation.Resource;
+import jakarta.ejb.SessionContext;
+import jakarta.ejb.Stateless;
+import jakarta.enterprise.inject.Instance;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
 
 import org.apache.directory.scim.server.exception.UnableToResolveIdException;
 import org.apache.directory.scim.server.provider.SelfIdResolver;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ServiceProviderConfigResourceImpl.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ServiceProviderConfigResourceImpl.java
index d442424..936d890 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ServiceProviderConfigResourceImpl.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/ServiceProviderConfigResourceImpl.java
@@ -24,12 +24,12 @@ import java.security.NoSuchAlgorithmException;
 import java.time.LocalDateTime;
 import java.util.List;
 
-import javax.ejb.Stateless;
-import javax.inject.Inject;
-import javax.ws.rs.core.EntityTag;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.core.Response.Status;
+import jakarta.ejb.Stateless;
+import jakarta.inject.Inject;
+import jakarta.ws.rs.core.EntityTag;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.Response.Status;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/UserResourceImpl.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/UserResourceImpl.java
index 6b319b3..88b9525 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/UserResourceImpl.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/UserResourceImpl.java
@@ -22,11 +22,11 @@
  */
 package org.apache.directory.scim.server.rest;
 
-import javax.ejb.Stateless;
-import javax.enterprise.inject.Instance;
-import javax.enterprise.inject.spi.CDI;
-import javax.enterprise.util.TypeLiteral;
-import javax.inject.Inject;
+import jakarta.ejb.Stateless;
+import jakarta.enterprise.inject.Instance;
+import jakarta.enterprise.inject.spi.CDI;
+import jakarta.enterprise.util.TypeLiteral;
+import jakarta.inject.Inject;
 
 import org.apache.directory.scim.server.provider.Provider;
 import org.apache.directory.scim.server.provider.ProviderRegistry;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/WebApplicationExceptionMapper.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/WebApplicationExceptionMapper.java
index bf0af08..4169c2e 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/WebApplicationExceptionMapper.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/rest/WebApplicationExceptionMapper.java
@@ -19,15 +19,15 @@
 
 package org.apache.directory.scim.server.rest;
 
-import javax.enterprise.inject.Specializes;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
+import jakarta.enterprise.inject.Specializes;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.ext.Provider;
 
 import org.apache.directory.scim.spec.protocol.Constants;
 import org.apache.directory.scim.spec.protocol.data.ErrorResponse;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/schema/Registry.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/schema/Registry.java
index 5bc9543..a3a7697 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/schema/Registry.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/schema/Registry.java
@@ -25,8 +25,8 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
 
-import javax.ejb.Singleton;
-import javax.ejb.Startup;
+import jakarta.ejb.Singleton;
+import jakarta.ejb.Startup;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/schema/ScimExtensionRegistryProducer.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/schema/ScimExtensionRegistryProducer.java
index fed83c0..5c564e9 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/schema/ScimExtensionRegistryProducer.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/schema/ScimExtensionRegistryProducer.java
@@ -19,7 +19,7 @@
 
 package org.apache.directory.scim.server.schema;
 
-import javax.enterprise.inject.Produces;
+import jakarta.enterprise.inject.Produces;
 
 import org.apache.directory.scim.spec.extension.ScimExtensionRegistry;
 
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/utility/AttributeUtil.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/utility/AttributeUtil.java
index 0cb9295..2f27465 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/utility/AttributeUtil.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/utility/AttributeUtil.java
@@ -40,9 +40,9 @@ import org.apache.directory.scim.spec.schema.Schema.Attribute;
 import org.apache.directory.scim.spec.schema.Schema.Attribute.Returned;
 import org.apache.directory.scim.spec.schema.Schema.Attribute.Type;
 
-import javax.annotation.PostConstruct;
-import javax.ejb.Stateless;
-import javax.inject.Inject;
+import jakarta.annotation.PostConstruct;
+import jakarta.ejb.Stateless;
+import jakarta.inject.Inject;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/utility/EndpointUtil.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/utility/EndpointUtil.java
index 483e073..3caf009 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/utility/EndpointUtil.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/utility/EndpointUtil.java
@@ -21,9 +21,9 @@ package org.apache.directory.scim.server.utility;
 
 import java.net.URI;
 
-import javax.enterprise.context.RequestScoped;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriInfo;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.apache.directory.scim.spec.annotation.ScimResourceType;
 import org.apache.directory.scim.spec.exception.InvalidScimResourceException;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/utility/EtagGenerator.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/utility/EtagGenerator.java
index c032a69..b198d34 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/utility/EtagGenerator.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/utility/EtagGenerator.java
@@ -27,8 +27,8 @@ import org.apache.directory.scim.spec.json.ObjectMapperFactory;
 import org.apache.directory.scim.spec.resources.ScimResource;
 import org.apache.directory.scim.spec.schema.Meta;
 
-import javax.ejb.Stateless;
-import javax.ws.rs.core.EntityTag;
+import jakarta.ejb.Stateless;
+import jakarta.ws.rs.core.EntityTag;
 import java.io.UnsupportedEncodingException;
 import java.nio.charset.StandardCharsets;
 import java.security.MessageDigest;
diff --git a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/utility/UriUtilities.java b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/utility/UriUtilities.java
index e3b0148..e92dfef 100644
--- a/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/utility/UriUtilities.java
+++ b/scim-server/scim-server-common/src/main/java/org/apache/directory/scim/server/utility/UriUtilities.java
@@ -23,8 +23,8 @@ import java.net.MalformedURLException;
 import java.net.URI;
 import java.net.URL;
 
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriInfo;
 
 public final class UriUtilities
 {
diff --git a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/ProviderRegistryTest.java b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/ProviderRegistryTest.java
index 190443c..06a4be9 100644
--- a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/ProviderRegistryTest.java
+++ b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/ProviderRegistryTest.java
@@ -21,7 +21,7 @@ package org.apache.directory.scim.server.provider;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
-import javax.enterprise.inject.Instance;
+import jakarta.enterprise.inject.Instance;
 
 import org.apache.directory.scim.server.schema.Registry;
 import org.apache.directory.scim.spec.resources.ScimUser;
diff --git a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/ProviderTest.java b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/ProviderTest.java
index a8a104a..e884b1f 100644
--- a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/ProviderTest.java
+++ b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/ProviderTest.java
@@ -27,8 +27,8 @@ import org.apache.directory.scim.spec.resources.ScimExtension;
 import org.apache.directory.scim.spec.resources.ScimResource;
 import org.junit.jupiter.api.Test;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Response;
 import java.util.List;
 
 import static org.hamcrest.MatcherAssert.assertThat;
diff --git a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/UpdateRequestTest.java b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/UpdateRequestTest.java
index 107527e..da02311 100644
--- a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/UpdateRequestTest.java
+++ b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/provider/UpdateRequestTest.java
@@ -31,7 +31,7 @@ import java.util.List;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import javax.enterprise.inject.Instance;
+import jakarta.enterprise.inject.Instance;
 
 import org.apache.directory.scim.server.rest.ObjectMapperFactory;
 import org.apache.directory.scim.server.schema.Registry;
diff --git a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/rest/BaseResourceTypeResourceImplTest.java b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/rest/BaseResourceTypeResourceImplTest.java
index 9b9ac2d..04ab4ac 100644
--- a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/rest/BaseResourceTypeResourceImplTest.java
+++ b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/rest/BaseResourceTypeResourceImplTest.java
@@ -28,9 +28,9 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
 
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
diff --git a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/rest/SelfResourceImplTest.java b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/rest/SelfResourceImplTest.java
index e71ec5c..c7734fe 100644
--- a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/rest/SelfResourceImplTest.java
+++ b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/rest/SelfResourceImplTest.java
@@ -29,9 +29,9 @@ import static org.mockito.Mockito.when;
 import java.security.Principal;
 import java.util.List;
 
-import javax.ejb.SessionContext;
-import javax.enterprise.inject.Instance;
-import javax.ws.rs.core.Response;
+import jakarta.ejb.SessionContext;
+import jakarta.enterprise.inject.Instance;
+import jakarta.ws.rs.core.Response;
 
 import org.apache.directory.scim.server.exception.UnableToResolveIdException;
 import org.apache.directory.scim.server.provider.SelfIdResolver;
diff --git a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/utility/ExampleObjectExtension.java b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/utility/ExampleObjectExtension.java
index 9c482ba..68d68ef 100644
--- a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/utility/ExampleObjectExtension.java
+++ b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/utility/ExampleObjectExtension.java
@@ -22,11 +22,11 @@ package org.apache.directory.scim.server.utility;
 import java.io.Serializable;
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
 
 import lombok.Data;
 import org.apache.directory.scim.spec.annotation.ScimAttribute;
diff --git a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/utility/Subobject.java b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/utility/Subobject.java
index dc9392b..1b469e5 100644
--- a/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/utility/Subobject.java
+++ b/scim-server/scim-server-common/src/test/java/org/apache/directory/scim/server/utility/Subobject.java
@@ -22,7 +22,7 @@ package org.apache.directory.scim.server.utility;
 import java.io.Serializable;
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlElement;
 
 import org.apache.directory.scim.spec.annotation.ScimAttribute;
 import lombok.Data;
diff --git a/scim-server/scim-server-example/scim-server-memory/pom.xml b/scim-server/scim-server-example/scim-server-memory/pom.xml
index be89132..0c280a4 100644
--- a/scim-server/scim-server-example/scim-server-memory/pom.xml
+++ b/scim-server/scim-server-example/scim-server-memory/pom.xml
@@ -29,9 +29,8 @@
 
   <dependencies>
     <dependency>
-      <groupId>javax.ws.rs</groupId>
-      <artifactId>javax.ws.rs-api</artifactId>
-      <version>2.1</version>
+      <groupId>jakarta.ws.rs</groupId>
+      <artifactId>jakarta.ws.rs-api</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.directory.scim</groupId>
diff --git a/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/extensions/LuckyNumberExtension.java b/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/extensions/LuckyNumberExtension.java
index c82af27..c9bbf56 100644
--- a/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/extensions/LuckyNumberExtension.java
+++ b/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/extensions/LuckyNumberExtension.java
@@ -19,10 +19,10 @@
 
 package org.apache.directory.scim.example.memory.extensions;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import lombok.Data;
 import org.apache.directory.scim.spec.annotation.ScimAttribute;
diff --git a/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/rest/RestApplication.java b/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/rest/RestApplication.java
index 625ee20..b75ed11 100644
--- a/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/rest/RestApplication.java
+++ b/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/rest/RestApplication.java
@@ -24,8 +24,8 @@ import org.apache.directory.scim.server.rest.ScimResourceHelper;
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.core.Application;
+import jakarta.ws.rs.ApplicationPath;
+import jakarta.ws.rs.core.Application;
 
 @ApplicationPath("v2")
 public class RestApplication extends Application {
diff --git a/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/rest/SwaggerJaxrsConfig.java b/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/rest/SwaggerJaxrsConfig.java
index 66df243..d29fbdc 100644
--- a/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/rest/SwaggerJaxrsConfig.java
+++ b/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/rest/SwaggerJaxrsConfig.java
@@ -19,20 +19,19 @@
 
 package org.apache.directory.scim.example.memory.rest;
 
+import com.fasterxml.jackson.module.jakarta.xmlbind.JakartaXmlBindAnnotationModule;
 import io.swagger.jaxrs.config.BeanConfig;
 import io.swagger.util.Json;
 import io.swagger.util.Yaml;
 
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
-import javax.servlet.annotation.WebListener;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
+import jakarta.servlet.annotation.WebListener;
 
 import org.apache.directory.scim.server.rest.ScimResourceHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule;
-
 @WebListener
 public class SwaggerJaxrsConfig implements ServletContextListener {
 
@@ -52,8 +51,8 @@ public class SwaggerJaxrsConfig implements ServletContextListener {
       beanConfig.setDescription("In Memory SCIM Server Example Implementation");
       beanConfig.setVersion("2.0");
 
-      Json.mapper().registerModule(new JaxbAnnotationModule());
-      Yaml.mapper().registerModule(new JaxbAnnotationModule());
+      Json.mapper().registerModule(new JakartaXmlBindAnnotationModule());
+      Yaml.mapper().registerModule(new JakartaXmlBindAnnotationModule());
 
     } catch (Exception e) {
       LOGGER.error("Error initializing swagger", e);
diff --git a/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/service/InMemoryGroupService.java b/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/service/InMemoryGroupService.java
index b39d0d7..85126af 100644
--- a/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/service/InMemoryGroupService.java
+++ b/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/service/InMemoryGroupService.java
@@ -34,8 +34,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Named;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Named;
 
 @Named
 @ApplicationScoped
diff --git a/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/service/InMemorySelfResolverImpl.java b/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/service/InMemorySelfResolverImpl.java
index cbdf4db..0322298 100644
--- a/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/service/InMemorySelfResolverImpl.java
+++ b/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/service/InMemorySelfResolverImpl.java
@@ -24,8 +24,8 @@ import org.apache.directory.scim.server.provider.SelfIdResolver;
 
 import java.security.Principal;
 
-import javax.ejb.Stateless;
-import javax.ws.rs.core.Response.Status;
+import jakarta.ejb.Stateless;
+import jakarta.ws.rs.core.Response.Status;
 
 @Stateless
 public class InMemorySelfResolverImpl implements SelfIdResolver {
diff --git a/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/service/InMemoryUserService.java b/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/service/InMemoryUserService.java
index a8479e6..58f133f 100644
--- a/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/service/InMemoryUserService.java
+++ b/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/service/InMemoryUserService.java
@@ -24,9 +24,9 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import javax.annotation.PostConstruct;
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Named;
+import jakarta.annotation.PostConstruct;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.inject.Named;
 
 import org.apache.directory.scim.example.memory.extensions.LuckyNumberExtension;
 import org.apache.directory.scim.server.exception.UnableToUpdateResourceException;
diff --git a/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/service/ScimConfigurator.java b/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/service/ScimConfigurator.java
index f8fe3d4..6d4633b 100644
--- a/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/service/ScimConfigurator.java
+++ b/scim-server/scim-server-example/scim-server-memory/src/main/java/org/apache/directory/scim/example/memory/service/ScimConfigurator.java
@@ -19,11 +19,11 @@
 
 package org.apache.directory.scim.example.memory.service;
 
-import javax.enterprise.inject.Instance;
-import javax.inject.Inject;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
-import javax.servlet.annotation.WebListener;
+import jakarta.enterprise.inject.Instance;
+import jakarta.inject.Inject;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
+import jakarta.servlet.annotation.WebListener;
 
 import org.apache.directory.scim.server.exception.InvalidProviderException;
 import org.apache.directory.scim.server.exception.UnableToRetrieveExtensionsException;
diff --git a/scim-spec/scim-spec-protocol/pom.xml b/scim-spec/scim-spec-protocol/pom.xml
index 776be7c..b78865f 100644
--- a/scim-spec/scim-spec-protocol/pom.xml
+++ b/scim-spec/scim-spec-protocol/pom.xml
@@ -31,8 +31,8 @@
 
 	<dependencies>
 		<dependency>
-      <groupId>javax.ws.rs</groupId>
-      <artifactId>javax.ws.rs-api</artifactId>
+      <groupId>jakarta.ws.rs</groupId>
+      <artifactId>jakarta.ws.rs-api</artifactId>
     </dependency>
 		<dependency>
 			<groupId>io.swagger</groupId>
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/adapter/AttributeReferenceAdapter.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/adapter/AttributeReferenceAdapter.java
index 2d12575..43876a6 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/adapter/AttributeReferenceAdapter.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/adapter/AttributeReferenceAdapter.java
@@ -19,7 +19,7 @@
 
 package org.apache.directory.scim.spec.adapter;
 
-import javax.xml.bind.annotation.adapters.XmlAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlAdapter;
 
 import org.apache.directory.scim.spec.protocol.attribute.AttributeReference;
 
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/adapter/FilterAdapter.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/adapter/FilterAdapter.java
index e9dc0d2..3da65ef 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/adapter/FilterAdapter.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/adapter/FilterAdapter.java
@@ -19,7 +19,7 @@
 
 package org.apache.directory.scim.spec.adapter;
 
-import javax.xml.bind.annotation.adapters.XmlAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlAdapter;
 
 import org.apache.directory.scim.spec.protocol.search.Filter;
 import lombok.extern.slf4j.Slf4j;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/adapter/FilterWrapper.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/adapter/FilterWrapper.java
index 6619a2b..6cd2e30 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/adapter/FilterWrapper.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/adapter/FilterWrapper.java
@@ -19,9 +19,9 @@
 
 package org.apache.directory.scim.spec.adapter;
 
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
 
 import org.apache.directory.scim.spec.protocol.ErrorMessageType;
 import org.apache.directory.scim.spec.protocol.data.ErrorResponse;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/BaseResourceTypeResource.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/BaseResourceTypeResource.java
index 5d675e1..6f0530b 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/BaseResourceTypeResource.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/BaseResourceTypeResource.java
@@ -19,18 +19,18 @@
 
 package org.apache.directory.scim.spec.protocol;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
 
 import org.apache.directory.scim.spec.adapter.FilterWrapper;
 import org.apache.directory.scim.spec.protocol.attribute.AttributeReference;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/BulkResource.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/BulkResource.java
index f6bfe92..140861a 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/BulkResource.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/BulkResource.java
@@ -19,15 +19,15 @@
 
 package org.apache.directory.scim.spec.protocol;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.UriInfo;
 
 import org.apache.directory.scim.spec.protocol.data.BulkRequest;
 import org.apache.directory.scim.spec.protocol.data.BulkResponse;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ErrorMessageType.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ErrorMessageType.java
index 33c91d0..280e8ea 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ErrorMessageType.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ErrorMessageType.java
@@ -19,8 +19,8 @@
 
 package org.apache.directory.scim.spec.protocol;
 
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlEnumValue;
+import jakarta.xml.bind.annotation.XmlEnum;
+import jakarta.xml.bind.annotation.XmlEnumValue;
 
 import lombok.AccessLevel;
 import lombok.Getter;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/GroupResource.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/GroupResource.java
index b3c1f30..2279dd8 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/GroupResource.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/GroupResource.java
@@ -21,7 +21,7 @@ package org.apache.directory.scim.spec.protocol;
 
 import io.swagger.annotations.Api;
 
-import javax.ws.rs.Path;
+import jakarta.ws.rs.Path;
 
 import org.apache.directory.scim.spec.resources.ScimGroup;
 
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ResourceTypesResource.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ResourceTypesResource.java
index a8c04d3..50c239f 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ResourceTypesResource.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ResourceTypesResource.java
@@ -19,14 +19,14 @@
 
 package org.apache.directory.scim.spec.protocol;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
 
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SchemaResource.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SchemaResource.java
index b5ed761..5d72e9f 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SchemaResource.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SchemaResource.java
@@ -19,14 +19,14 @@
 
 package org.apache.directory.scim.spec.protocol;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
 
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SearchResource.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SearchResource.java
index d364de2..76b91a5 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SearchResource.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SearchResource.java
@@ -19,12 +19,12 @@
 
 package org.apache.directory.scim.spec.protocol;
 
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
 
 import org.apache.directory.scim.spec.protocol.data.SearchRequest;
 import org.apache.directory.scim.spec.resources.ScimResource;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SelfResource.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SelfResource.java
index 3632308..55da024 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SelfResource.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/SelfResource.java
@@ -19,17 +19,17 @@
 
 package org.apache.directory.scim.spec.protocol;
 
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.DELETE;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
 
 import org.apache.directory.scim.spec.protocol.attribute.AttributeReferenceListWrapper;
 import org.apache.directory.scim.spec.protocol.data.PatchRequest;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ServiceProviderConfigResource.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ServiceProviderConfigResource.java
index d912722..bd166c1 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ServiceProviderConfigResource.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/ServiceProviderConfigResource.java
@@ -19,14 +19,14 @@
 
 package org.apache.directory.scim.spec.protocol;
 
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.core.UriInfo;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.UriInfo;
 
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/UserResource.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/UserResource.java
index 5ad6508..8128f17 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/UserResource.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/UserResource.java
@@ -21,7 +21,7 @@ package org.apache.directory.scim.spec.protocol;
 
 import io.swagger.annotations.Api;
 
-import javax.ws.rs.Path;
+import jakarta.ws.rs.Path;
 
 import org.apache.directory.scim.spec.resources.ScimUser;
 
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkOperation.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkOperation.java
index 13cf703..8ed6b15 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkOperation.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkOperation.java
@@ -19,13 +19,13 @@
 
 package org.apache.directory.scim.spec.protocol.data;
 
-import javax.ws.rs.core.Response.Status;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlEnumValue;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlEnumValue;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import org.apache.directory.scim.spec.resources.BaseResource;
 import org.apache.directory.scim.spec.resources.ScimResource;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkRequest.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkRequest.java
index 5a8e45e..5b8b0cf 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkRequest.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkRequest.java
@@ -21,10 +21,10 @@ package org.apache.directory.scim.spec.protocol.data;
 
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
 
 import org.apache.directory.scim.spec.resources.BaseResource;
 import lombok.Data;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkResponse.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkResponse.java
index 3ce2e8f..72b143a 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkResponse.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/BulkResponse.java
@@ -21,12 +21,12 @@ package org.apache.directory.scim.spec.protocol.data;
 
 import java.util.List;
 
-import javax.ws.rs.core.Response.Status;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import org.apache.directory.scim.spec.resources.BaseResource;
 import lombok.Data;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/ErrorResponse.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/ErrorResponse.java
index 7a8f121..c0665f6 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/ErrorResponse.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/ErrorResponse.java
@@ -22,13 +22,13 @@ package org.apache.directory.scim.spec.protocol.data;
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import org.apache.directory.scim.spec.protocol.ErrorMessageType;
 import org.apache.directory.scim.spec.resources.BaseResource;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/ListResponse.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/ListResponse.java
index 3165a76..c5f594a 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/ListResponse.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/ListResponse.java
@@ -21,10 +21,10 @@ package org.apache.directory.scim.spec.protocol.data;
 
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import lombok.Data;
 import lombok.EqualsAndHashCode;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchOperation.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchOperation.java
index 9486035..2a79318 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchOperation.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchOperation.java
@@ -19,13 +19,13 @@
 
 package org.apache.directory.scim.spec.protocol.data;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlEnumValue;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlEnum;
+import jakarta.xml.bind.annotation.XmlEnumValue;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import lombok.Data;
 import lombok.EqualsAndHashCode;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchOperationPathAdapter.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchOperationPathAdapter.java
index 103250b..f35666d 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchOperationPathAdapter.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchOperationPathAdapter.java
@@ -19,7 +19,7 @@
 
 package org.apache.directory.scim.spec.protocol.data;
 
-import javax.xml.bind.annotation.adapters.XmlAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlAdapter;
 
 public class PatchOperationPathAdapter extends XmlAdapter<String, PatchOperationPath>{
 
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchRequest.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchRequest.java
index 75363aa..4c9db03 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchRequest.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/PatchRequest.java
@@ -21,10 +21,10 @@ package org.apache.directory.scim.spec.protocol.data;
 
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import lombok.Data;
 import lombok.EqualsAndHashCode;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/SearchRequest.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/SearchRequest.java
index b5d3a5e..5779503 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/SearchRequest.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/SearchRequest.java
@@ -21,11 +21,11 @@ package org.apache.directory.scim.spec.protocol.data;
 
 import java.util.Set;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import lombok.Data;
 import lombok.EqualsAndHashCode;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/StatusAdapter.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/StatusAdapter.java
index 44020c5..8887d0c 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/StatusAdapter.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/data/StatusAdapter.java
@@ -19,8 +19,8 @@
 
 package org.apache.directory.scim.spec.protocol.data;
 
-import javax.ws.rs.core.Response.Status;
-import javax.xml.bind.annotation.adapters.XmlAdapter;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.xml.bind.annotation.adapters.XmlAdapter;
 
 public class StatusAdapter extends XmlAdapter<String, Status> {
 
@@ -46,4 +46,4 @@ public class StatusAdapter extends XmlAdapter<String, Status> {
     return Integer.toString(v.getStatusCode());
   }
 
-}
\ No newline at end of file
+}
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/exception/ScimException.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/exception/ScimException.java
index 58542f8..c8e0e19 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/exception/ScimException.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/exception/ScimException.java
@@ -19,7 +19,7 @@
 
 package org.apache.directory.scim.spec.protocol.exception;
 
-import javax.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.Response.Status;
 
 import org.apache.directory.scim.spec.protocol.data.ErrorResponse;
 import lombok.Data;
diff --git a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/search/SortOrder.java b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/search/SortOrder.java
index 5a1f6e7..a0d550b 100644
--- a/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/search/SortOrder.java
+++ b/scim-spec/scim-spec-protocol/src/main/java/org/apache/directory/scim/spec/protocol/search/SortOrder.java
@@ -19,7 +19,7 @@
 
 package org.apache.directory.scim.spec.protocol.search;
 
-import javax.xml.bind.annotation.XmlEnumValue;
+import jakarta.xml.bind.annotation.XmlEnumValue;
 
 public enum SortOrder {
   @XmlEnumValue("ascending")
diff --git a/scim-spec/scim-spec-schema/pom.xml b/scim-spec/scim-spec-schema/pom.xml
index 85f656f..3da305a 100644
--- a/scim-spec/scim-spec-schema/pom.xml
+++ b/scim-spec/scim-spec-schema/pom.xml
@@ -29,13 +29,17 @@
 
 	<dependencies>
 		<dependency>
-			<groupId>javax.xml.bind</groupId>
-			<artifactId>jaxb-api</artifactId>
+      <groupId>jakarta.xml.bind</groupId>
+      <artifactId>jakarta.xml.bind-api</artifactId>
 		</dependency>
 		<dependency>
-			<groupId>javax.validation</groupId>
-			<artifactId>validation-api</artifactId>
-		</dependency>
+      <groupId>jakarta.ws.rs</groupId>
+      <artifactId>jakarta.ws.rs-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>jakarta.validation</groupId>
+      <artifactId>jakarta.validation-api</artifactId>
+    </dependency>
 		<dependency>
 			<groupId>org.projectlombok</groupId>
 			<artifactId>lombok</artifactId>
@@ -46,22 +50,29 @@
       <groupId>org.junit.jupiter</groupId>
       <artifactId>junit-jupiter</artifactId>
       <scope>test</scope>
+    </dependency>
+  <dependency>
+    <groupId>com.fasterxml.jackson.jakarta.rs</groupId>
+    <artifactId>jackson-jakarta-rs-json-provider</artifactId>
+  </dependency>
+  <dependency>
+    <groupId>org.hibernate.validator</groupId>
+    <artifactId>hibernate-validator</artifactId>
+    <scope>test</scope>
+  </dependency>
+  <dependency>
+    <groupId>jakarta.el</groupId>
+    <artifactId>jakarta.el-api</artifactId>
+    <scope>test</scope>
+  </dependency>
+    <dependency>
+      <groupId>org.glassfish</groupId>
+      <artifactId>jakarta.el</artifactId>
+      <version>4.0.2</version>
     </dependency>
 	<dependency>
-		<groupId>com.fasterxml.jackson.jaxrs</groupId>
-		<artifactId>jackson-jaxrs-json-provider</artifactId>
-	</dependency>
-	<dependency>
-		<groupId>org.hibernate</groupId>
-		<artifactId>hibernate-validator</artifactId>
-	</dependency>
-	<dependency>
-		<groupId>org.glassfish</groupId>
-		<artifactId>javax.el</artifactId>
-	</dependency>
-	<dependency>
-    <groupId>javax.ejb</groupId>
-    <artifactId>javax.ejb-api</artifactId>
+    <groupId>jakarta.ejb</groupId>
+    <artifactId>jakarta.ejb-api</artifactId>
 	</dependency>
 	<dependency>
 		<groupId>org.slf4j</groupId>
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/adapter/Iso8601DateTimeAdapter.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/adapter/Iso8601DateTimeAdapter.java
index c391624..a838092 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/adapter/Iso8601DateTimeAdapter.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/adapter/Iso8601DateTimeAdapter.java
@@ -22,7 +22,7 @@ package org.apache.directory.scim.spec.adapter;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
-import javax.xml.bind.annotation.adapters.XmlAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlAdapter;
 
 public class Iso8601DateTimeAdapter extends XmlAdapter<String, Date> {
   
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/adapter/LocalDateTimeAdapter.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/adapter/LocalDateTimeAdapter.java
index 8ebd4ba..64db0a3 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/adapter/LocalDateTimeAdapter.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/adapter/LocalDateTimeAdapter.java
@@ -22,7 +22,7 @@ package org.apache.directory.scim.spec.adapter;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 
-import javax.xml.bind.annotation.adapters.XmlAdapter;
+import jakarta.xml.bind.annotation.adapters.XmlAdapter;
 
 public class LocalDateTimeAdapter extends XmlAdapter<String, LocalDateTime> {
   
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/extension/EnterpriseExtension.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/extension/EnterpriseExtension.java
index 4217d4c..2aba1df 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/extension/EnterpriseExtension.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/extension/EnterpriseExtension.java
@@ -21,11 +21,11 @@ package org.apache.directory.scim.spec.extension;
 
 import java.io.Serializable;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
 
 import lombok.Data;
 import org.apache.directory.scim.spec.annotation.ScimAttribute;
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/json/ObjectMapperFactory.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/json/ObjectMapperFactory.java
index ff8946a..6ee0121 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/json/ObjectMapperFactory.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/json/ObjectMapperFactory.java
@@ -23,18 +23,18 @@ import com.fasterxml.jackson.databind.AnnotationIntrospector;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.introspect.AnnotationIntrospectorPair;
 import com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector;
-import com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector;
-import com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule;
+import com.fasterxml.jackson.module.jakarta.xmlbind.JakartaXmlBindAnnotationIntrospector;
+import com.fasterxml.jackson.module.jakarta.xmlbind.JakartaXmlBindAnnotationModule;
 
 public class ObjectMapperFactory {
 
   public static ObjectMapper getObjectMapper() {
     ObjectMapper objectMapper = new ObjectMapper();
 
-    objectMapper.registerModule(new JaxbAnnotationModule());
+    objectMapper.registerModule(new JakartaXmlBindAnnotationModule());
 
     AnnotationIntrospector pair = new AnnotationIntrospectorPair(
-      new JaxbAnnotationIntrospector(objectMapper.getTypeFactory()),
+      new JakartaXmlBindAnnotationIntrospector(objectMapper.getTypeFactory()),
       new JacksonAnnotationIntrospector());
     objectMapper.setAnnotationIntrospector(pair);
 
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Address.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Address.java
index 3b43da9..90fbaf5 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Address.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Address.java
@@ -21,10 +21,10 @@ package org.apache.directory.scim.spec.resources;
 
 import java.io.Serializable;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
 
 import org.apache.directory.scim.spec.annotation.ScimAttribute;
 import lombok.Data;
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/BaseResource.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/BaseResource.java
index 9ea5668..da6da1d 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/BaseResource.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/BaseResource.java
@@ -23,10 +23,10 @@ import java.io.Serializable;
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.validation.constraints.Size;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
+import jakarta.validation.constraints.Size;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
 
 import org.apache.directory.scim.spec.validator.Urn;
 import lombok.Data;
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Email.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Email.java
index 24c2043..23f3f4b 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Email.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Email.java
@@ -21,10 +21,10 @@ package org.apache.directory.scim.spec.resources;
 
 import java.io.Serializable;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
 
 import org.apache.directory.scim.spec.annotation.ScimAttribute;
 import lombok.Data;
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Entitlement.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Entitlement.java
index 2c84fcd..efe0699 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Entitlement.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Entitlement.java
@@ -21,10 +21,10 @@ package org.apache.directory.scim.spec.resources;
 
 import java.io.Serializable;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
 
 import org.apache.directory.scim.spec.annotation.ScimAttribute;
 import lombok.Data;
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Im.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Im.java
index 1f6ccc7..dba7fcc 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Im.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Im.java
@@ -21,10 +21,10 @@ package org.apache.directory.scim.spec.resources;
 
 import java.io.Serializable;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
 
 import org.apache.directory.scim.spec.annotation.ScimAttribute;
 import lombok.Data;
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/KeyedResource.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/KeyedResource.java
index b810577..41af0f2 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/KeyedResource.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/KeyedResource.java
@@ -21,10 +21,10 @@ package org.apache.directory.scim.spec.resources;
 
 import java.io.Serializable;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
 
 import org.apache.directory.scim.spec.annotation.ScimAttribute;
 import lombok.extern.slf4j.Slf4j;
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Name.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Name.java
index 05720c0..6c78c79 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Name.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Name.java
@@ -21,10 +21,10 @@ package org.apache.directory.scim.spec.resources;
 
 import java.io.Serializable;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
 
 import lombok.Data;
 import lombok.EqualsAndHashCode;
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/PhoneNumber.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/PhoneNumber.java
index 86ed55a..b49e65f 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/PhoneNumber.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/PhoneNumber.java
@@ -27,10 +27,10 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Map.Entry;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
 
 import org.antlr.v4.runtime.ANTLRInputStream;
 import org.antlr.v4.runtime.BaseErrorListener;
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Photo.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Photo.java
index bf88ef1..67404a5 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Photo.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Photo.java
@@ -21,10 +21,10 @@ package org.apache.directory.scim.spec.resources;
 
 import java.io.Serializable;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
 
 import org.apache.directory.scim.spec.annotation.ScimAttribute;
 import lombok.Data;
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Role.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Role.java
index 4040171..70f9978 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Role.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/Role.java
@@ -21,10 +21,10 @@ package org.apache.directory.scim.spec.resources;
 
 import java.io.Serializable;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
 
 import org.apache.directory.scim.spec.annotation.ScimAttribute;
 import lombok.Data;
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimExtension.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimExtension.java
index e1494dc..e81a71b 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimExtension.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimExtension.java
@@ -21,7 +21,7 @@ package org.apache.directory.scim.spec.resources;
 
 import java.io.Serializable;
 
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 
 @XmlRootElement(name = "ScimExtension")
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimGroup.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimGroup.java
index 8f74c24..cfef250 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimGroup.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimGroup.java
@@ -22,10 +22,10 @@ package org.apache.directory.scim.spec.resources;
 import java.io.Serializable;
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.apache.directory.scim.spec.annotation.ScimAttribute;
 import org.apache.directory.scim.spec.annotation.ScimResourceType;
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimResource.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimResource.java
index 5c1f93e..a9badf1 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimResource.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimResource.java
@@ -34,11 +34,11 @@ import org.apache.directory.scim.spec.schema.Schema.Attribute.Returned;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
 import java.io.Serializable;
 import java.util.HashMap;
 import java.util.Map;
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimResourceWithOptionalId.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimResourceWithOptionalId.java
index 3a7ef1e..26bda1f 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimResourceWithOptionalId.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimResourceWithOptionalId.java
@@ -19,9 +19,9 @@
 
 package org.apache.directory.scim.spec.resources;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
 
 import lombok.Data;
 import lombok.EqualsAndHashCode;
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimUser.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimUser.java
index ac60827..03d9e8f 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimUser.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/ScimUser.java
@@ -23,10 +23,10 @@ import java.io.Serializable;
 import java.util.List;
 import java.util.Optional;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlRootElement;
 
 import org.apache.directory.scim.spec.annotation.ScimAttribute;
 import org.apache.directory.scim.spec.annotation.ScimResourceType;
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/X509Certificate.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/X509Certificate.java
index b8cc3bb..23e3733 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/X509Certificate.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/resources/X509Certificate.java
@@ -21,10 +21,10 @@ package org.apache.directory.scim.spec.resources;
 
 import java.io.Serializable;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
 
 import org.apache.directory.scim.spec.annotation.ScimAttribute;
 import lombok.Data;
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/Meta.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/Meta.java
index 06b915a..fe634f7 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/Meta.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/Meta.java
@@ -22,12 +22,12 @@ package org.apache.directory.scim.spec.schema;
 import java.io.Serializable;
 import java.time.LocalDateTime;
 
-import javax.validation.constraints.Size;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import jakarta.validation.constraints.Size;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import org.apache.directory.scim.spec.adapter.LocalDateTimeAdapter;
 import lombok.Data;
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/ResourceReference.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/ResourceReference.java
index 7fdec7d..55af15f 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/ResourceReference.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/ResourceReference.java
@@ -21,12 +21,12 @@ package org.apache.directory.scim.spec.schema;
 
 import java.io.Serializable;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlEnumValue;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlEnum;
+import jakarta.xml.bind.annotation.XmlEnumValue;
+import jakarta.xml.bind.annotation.XmlType;
 
 import org.apache.directory.scim.spec.annotation.ScimAttribute;
 import org.apache.directory.scim.spec.annotation.ScimResourceIdReference;
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/ResourceType.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/ResourceType.java
index 5f5d456..1c3bb15 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/ResourceType.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/ResourceType.java
@@ -21,10 +21,10 @@ package org.apache.directory.scim.spec.schema;
 
 import java.util.List;
 
-import javax.validation.constraints.Size;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
+import jakarta.validation.constraints.Size;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
 
 import org.apache.directory.scim.spec.annotation.ScimResourceType;
 import org.apache.directory.scim.spec.resources.ScimResourceWithOptionalId;
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/Schema.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/Schema.java
index 263caa6..7844550 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/Schema.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/Schema.java
@@ -27,17 +27,17 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-import javax.validation.constraints.Size;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlEnumValue;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Pattern;
+import jakarta.validation.constraints.Size;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlElementWrapper;
+import jakarta.xml.bind.annotation.XmlEnum;
+import jakarta.xml.bind.annotation.XmlEnumValue;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -256,4 +256,4 @@ public class Schema implements AttributeContainer {
     }
     return attributeNamesMap.get(name.toLowerCase());
   }
-}
\ No newline at end of file
+}
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/ServiceProviderConfiguration.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/ServiceProviderConfiguration.java
index 8803691..e73307b 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/ServiceProviderConfiguration.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/schema/ServiceProviderConfiguration.java
@@ -21,12 +21,12 @@ package org.apache.directory.scim.spec.schema;
 
 import java.util.List;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlEnumValue;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
+import jakarta.xml.bind.annotation.XmlAccessType;
+import jakarta.xml.bind.annotation.XmlAccessorType;
+import jakarta.xml.bind.annotation.XmlElement;
+import jakarta.xml.bind.annotation.XmlEnumValue;
+import jakarta.xml.bind.annotation.XmlRootElement;
+import jakarta.xml.bind.annotation.XmlType;
 
 import org.apache.directory.scim.spec.resources.ScimResourceWithOptionalId;
 import lombok.Data;
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/validator/Urn.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/validator/Urn.java
index 777b162..6bc8ca5 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/validator/Urn.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/validator/Urn.java
@@ -27,8 +27,8 @@ import static java.lang.annotation.ElementType.FIELD;
 import static java.lang.annotation.ElementType.METHOD;
 import static java.lang.annotation.ElementType.PARAMETER;
 
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
 
 @Constraint(validatedBy = UrnValidator.class)
 @Target( { METHOD, FIELD, PARAMETER })
diff --git a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/validator/UrnValidator.java b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/validator/UrnValidator.java
index f15089b..36ce300 100644
--- a/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/validator/UrnValidator.java
+++ b/scim-spec/scim-spec-schema/src/main/java/org/apache/directory/scim/spec/validator/UrnValidator.java
@@ -19,8 +19,8 @@
 
 package org.apache.directory.scim.spec.validator;
 
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
 
 public class UrnValidator implements ConstraintValidator<Urn, String> {
 
diff --git a/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/schema/SchemaTest.java b/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/schema/SchemaTest.java
index d8d8072..b38003e 100644
--- a/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/schema/SchemaTest.java
+++ b/scim-spec/scim-spec-schema/src/test/java/org/apache/directory/scim/spec/schema/SchemaTest.java
@@ -28,10 +28,10 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.ValueSource;
 
-import javax.validation.ConstraintViolation;
-import javax.validation.Validation;
-import javax.validation.Validator;
-import javax.validation.ValidatorFactory;
+import jakarta.validation.ConstraintViolation;
+import jakarta.validation.Validation;
+import jakarta.validation.Validator;
+import jakarta.validation.ValidatorFactory;
 import java.io.InputStream;
 import java.util.Set;